免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3449 | 回复: 6
打印 上一主题 下一主题

[C++] 请教 Unix下C++程序的makefile中CC指令参数顺序问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-31 10:32 |只看该作者 |倒序浏览
请教各位大侠,我的makefile执行的很怪,
做CC ... objects -o $@ $(LIB) 就可以编译过去,但是
  CC ... $(LIB) objects -o $@就不行
请问,这是怎么回事,谢谢!

PS:为了简化描述,"..."表示中间的其他东西略过,objects代表那些编译好的.o文件,LIB定义了一些链接库,例如 -lm等等。

论坛徽章:
0
2 [报告]
发表于 2007-01-31 10:36 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2007-01-31 10:41 |只看该作者

回复 2楼 kiss007 的帖子

您的意思是要在编译.o文件时带上 LIB 吗?
还是说要做其他的操作

论坛徽章:
0
4 [报告]
发表于 2007-01-31 11:50 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2007-01-31 22:48 |只看该作者
链接的时候是自右向左的,也就是说,如果你有两个库LIB1和LIB2,LIB1当中用到了LIB2的全局变量,那么你就需要-l LIB1 -lLIB2

论坛徽章:
0
6 [报告]
发表于 2007-01-31 22:56 |只看该作者
有的编译器在连接的时候要求库的连接选项要放到所有目标文件的后面,然而大多数的编译器没有这样的顺序要求。为通用起见,应该注意要始终把库的连接选项(主要是 -L 和 -l)放到命令行的后面。

论坛徽章:
0
7 [报告]
发表于 2007-02-01 14:53 |只看该作者
感谢大家,对这个有点了解了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP