代码如下:
[root@localhost ~]# gcc -c pro4.c
[root@localhost ~]# gcc -c main1.c
[root@localhost ~]# ar crv libf.a pro4.o
r - pro4.o
[root@localhost ~]# gcc -o main1 main1.o libf.a(直接用库文件名成功链接)
[root@localhost ~]# gcc -o main1 main1.o -L.lf main1.o:在函数‘main’中: main1.c:(.text+0xa):对‘pro4’未定义的引用 collect2: 错误:ld 返回 1 请问这是怎么回事,gcc编译时指定库文件路径时-L无效(但是我不得不用-L指定路径)?
gcc -o main1 main1.o -L库文件的路径 -lf######好了,是我库文件函数包含错了,谢谢######一楼 正解 ,-L 是添加一个依赖库扫描的路径 以及 扫描顺序。
######你链接成功是因为 libf.a 本身是.o 的归档文件
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。