Makefile 中的$(LDFLAGS)是啥意思啊
3个回答
展开全部
在Makefile中:
O2表示优化选项,2表示最优优化,即编译器会优化你的程序;-o表示后边接的是文件名称;$@是Makefile的通配符,代指你前面指定的文件名,例如有规则%.o:%.c,那么$@表示xxx.o文件(xxx是你的源代码文件的名称前缀);$<表示搜索到的第一个匹配的文件,对于规则%.o:%.c,$<表示第一个找到的.c文件。简而言之,假设在一个文件夹下有若干.c文件,那么下面的规则:
%.o:%.c
<TAB>gcc -O2 -o $@ $< #<TAB>表示Tab键
表示把所有的.c文件编译成中间.o文件。
LDFLAGS是选项,LIBS是要链接的库
都是喂给ld的,只不过一个是告诉ld怎么吃,一个是告诉ld要吃什么
O2表示优化选项,2表示最优优化,即编译器会优化你的程序;-o表示后边接的是文件名称;$@是Makefile的通配符,代指你前面指定的文件名,例如有规则%.o:%.c,那么$@表示xxx.o文件(xxx是你的源代码文件的名称前缀);$<表示搜索到的第一个匹配的文件,对于规则%.o:%.c,$<表示第一个找到的.c文件。简而言之,假设在一个文件夹下有若干.c文件,那么下面的规则:
%.o:%.c
<TAB>gcc -O2 -o $@ $< #<TAB>表示Tab键
表示把所有的.c文件编译成中间.o文件。
LDFLAGS是选项,LIBS是要链接的库
都是喂给ld的,只不过一个是告诉ld怎么吃,一个是告诉ld要吃什么
展开全部
其实就类似C语言的变量或者宏定义。
解释:
例如在makefile中有
1.LDFLAGS = -L/var/xxx/lib -L/opt/mysql/lib
则$(LDFLAGS)就相当于-L/var/xxx/lib -L/opt/mysql/lib
2.LDFLAGS告诉链接器从哪里寻找库文件
解释:
例如在makefile中有
1.LDFLAGS = -L/var/xxx/lib -L/opt/mysql/lib
则$(LDFLAGS)就相当于-L/var/xxx/lib -L/opt/mysql/lib
2.LDFLAGS告诉链接器从哪里寻找库文件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-19
展开全部
Makefile中宏LDFLAGS一般代表链接可执行程序时的链接选项
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询