linux下一次使用多个静态库的makefile编写?

hacker1125 2009-06-04 08:48:30
以前只使用过一个静态库*.a的,现在要写个demo,同时要用到2个静态库,不知道怎么写makefile,下面是我写的,需要怎么修改?大虾帮忙!

HMD = .
EXLIBS = -L ./home -static -slib.a //这里不知道怎么写,可以同时使用2个静态库
EXFLAGS = -Wall
CC = gcc

INCS = -I $(HMD)/inc
TARGET = $(HMD)/demo
SRC = demo

OBJS = demo.o

#
# Target ALL
#

$(TARGET): $(OBJS)
$(CC) -o $@ $(OBJS) $(INCS) $(EXFLAGS) $(EXLIBS)


demo.o: demo.c
$(CC) -c $< -o $@ $(INCS) $(EXFLAGS)

#
# Target Clean
#
clean :
rm -rf *.o $(TARGET)
...全文
1341 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hacker1125 2009-06-05
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jason_value 的回复:]
把库名改成lib*.a的格式,有两个库分别为:libno1.a,libno2.a
EXLIBS = -L./home -lno1 -lno2
-L./home 表示库libno1.a,libno2.a在的目录
[/Quote]
这样我试过,不行,不知道为啥,后来我写

EXLIBS = -L /home -static libno1.a -L /home -static libno2.a

就可以
hacker1125 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 sourceid 的回复:]
假设/usr/local/libfoo/下有libfoo.a

-L ./home -L /usr/local/libfoo/ -lfoo
[/Quote]
不是很明白,在/usr/local/libfoo/ 有*.a,这个 -L ./home表示什么啊?

我现在是在 /home下有2个库,比如:no1lib.a和no2lib.a
那这个该怎么写呢?
sourceid 2009-06-04
  • 打赏
  • 举报
回复
假设/usr/local/libfoo/下有libfoo.a

-L ./home -L /usr/local/libfoo/ -lfoo
hacker1125 2009-06-04
  • 打赏
  • 举报
回复
各位大虾帮帮忙~~谢谢了
mymtom 2009-06-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jason_value 的回复:]
把库名改成lib*.a的格式,有两个库分别为:libno1.a,libno2.a
EXLIBS = -L./home -lno1 -lno2
-L./home 表示库libno1.a,libno2.a在的目录
[/Quote]
已经很清楚了。
once_and_again 2009-06-04
  • 打赏
  • 举报
回复

[-Ldir...]

DreamFreeLancer 2009-06-04
  • 打赏
  • 举报
回复
本人的该篇博文应该会对你有帮助:http://blog.csdn.net/DreamFreeLancer/archive/2009/05/26/4216147.aspx
jason_value 2009-06-04
  • 打赏
  • 举报
回复
把库名改成lib*.a的格式,有两个库分别为:libno1.a,libno2.a
EXLIBS = -L./home -lno1 -lno2
-L./home 表示库libno1.a,libno2.a在的目录

hacker1125 2009-06-04
  • 打赏
  • 举报
回复
帮帮忙啊?应该怎么写啊?

23,223

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧