当前位置: 技术问答>linux和unix
关于makefile的问题:如果一个目标的两个以上的依赖文件都需要引用相同的库函数该怎么写?
来源: 互联网 发布时间:2015-07-18
本文导语: 如果一个目标的两个以上的依赖文件都需要引用相同的库函数该怎么写? 如: INCLUDES= -I/usr/include/mysql/ LIBS= -lmysqlclient -lz -lm -lnsl a.o: a.c b.c gcc $(INCLUDES) $(LIBS) -c a.c b.c a.c有函数fa,b.c有函数fb...
如果一个目标的两个以上的依赖文件都需要引用相同的库函数该怎么写?
如:
INCLUDES= -I/usr/include/mysql/
LIBS= -lmysqlclient -lz -lm -lnsl
a.o: a.c b.c
gcc $(INCLUDES) $(LIBS) -c a.c b.c
a.c有函数fa,b.c有函数fb,两个函数都用到了变量INCLUDES和LIBS所定义的库,同时fa调用了fb。现在的问题是:在a.c中认不出fb返回值,估计是由于对库函数的使用引起的,不知道gcc后面该怎么写才能正确。
如:
INCLUDES= -I/usr/include/mysql/
LIBS= -lmysqlclient -lz -lm -lnsl
a.o: a.c b.c
gcc $(INCLUDES) $(LIBS) -c a.c b.c
a.c有函数fa,b.c有函数fb,两个函数都用到了变量INCLUDES和LIBS所定义的库,同时fa调用了fb。现在的问题是:在a.c中认不出fb返回值,估计是由于对库函数的使用引起的,不知道gcc后面该怎么写才能正确。
|
INCLUDES= -I/usr/include/mysql/
LIBS= -lmysqlclient -lz -lm -lnsl
all: a.o b.o
gcc $(INCLUDES) $(LIBS) -o run a.o b.o
a.o: a.c
gcc $(INCLUDES) -c a.c
b.o: b.c
gcc $(INCLUDES) -c b.c
LIBS= -lmysqlclient -lz -lm -lnsl
all: a.o b.o
gcc $(INCLUDES) $(LIBS) -o run a.o b.o
a.o: a.c
gcc $(INCLUDES) -c a.c
b.o: b.c
gcc $(INCLUDES) -c b.c
|
先把a.c和b.c分别编译成.o文件,最后再链接库编译成可执行文件.
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。