对 linux C 编程 makefile书写的疑问(三)
时间:2011-02-13
来源:互联网
下面是一个makefile:
CC=gcc
CFLAGS= -Iinclude -Wall -g -DDEBUG
LDFLAGS=-L./lib -Wl,-rpath=./lib -Wl,-rpath=/usr/local/lib
myapp: main.o test1.o test2.o test3.o test4.o test5.o
$(CC) -o $@ $(LDFLAGS) $^ -ldl
clean:
rm -rf *.o myapp
几点疑问:
1.LDFLAGS=-L./lib -Wl,-rpath=./lib -Wl,-rpath=/usr/local/lib
求高手帮解释一下 -Wl干什么用的?
2.$(CC) -o $@ $(LDFLAGS) $^ -ldl
$(LDFLAGS)是库文件的位置,-ldl是具体的库的名字, 对(LDFLAGS) 和 -ldl之间存在$^有些不解,不是不知$^是什么,知道$^是依赖目标,而是对$(LDFLAGS) $^ -ldl的排列顺序有些疑问,求解释一下makefile命令的具体命令规则顺序是怎样写的,举个例子:就是$(CC) -o $@ $(LDFLAGS) $^ -ldl
是按什么要求进行排列的?
求具体的排列顺序的方法。
初学linux,处处不懂。
以上两点希望有经验的人士帮解决一下!
CC=gcc
CFLAGS= -Iinclude -Wall -g -DDEBUG
LDFLAGS=-L./lib -Wl,-rpath=./lib -Wl,-rpath=/usr/local/lib
myapp: main.o test1.o test2.o test3.o test4.o test5.o
$(CC) -o $@ $(LDFLAGS) $^ -ldl
clean:
rm -rf *.o myapp
几点疑问:
1.LDFLAGS=-L./lib -Wl,-rpath=./lib -Wl,-rpath=/usr/local/lib
求高手帮解释一下 -Wl干什么用的?
2.$(CC) -o $@ $(LDFLAGS) $^ -ldl
$(LDFLAGS)是库文件的位置,-ldl是具体的库的名字, 对(LDFLAGS) 和 -ldl之间存在$^有些不解,不是不知$^是什么,知道$^是依赖目标,而是对$(LDFLAGS) $^ -ldl的排列顺序有些疑问,求解释一下makefile命令的具体命令规则顺序是怎样写的,举个例子:就是$(CC) -o $@ $(LDFLAGS) $^ -ldl
是按什么要求进行排列的?
求具体的排列顺序的方法。
初学linux,处处不懂。
以上两点希望有经验的人士帮解决一下!
作者: feilongzafei 发布时间: 2011-02-13
有些书上说链接标志(LDFLAGS)要放到最后比较好。
最具体的只有去看官方的manual了。
最具体的只有去看官方的manual了。
作者: subfate 发布时间: 2011-02-13
引用 1 楼 subfate 的回复:
有些书上说链接标志(LDFLAGS)要放到最后比较好。
最具体的只有去看官方的manual了。
有些书上说链接标志(LDFLAGS)要放到最后比较好。
最具体的只有去看官方的manual了。
请问官方的manual去哪里查看?
作者: feilongzafei 发布时间: 2011-02-13
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28