我注意到,当我使用 gcc 制作应用程序并在链接阶段查看输出时,我看到以下库包含两次:
/home/rb01/opt/trx-HEAD/gcc/4.2.4/lib/../lib64/libstdc++.so
所以我只是想知道这是 g++ (gcc) 的问题还是第二个问题被简单地忽略了?
Thanks!
如果库中的符号已被解析,链接器将忽略它们。对于共享库,如本例所示,链接器实际上并不链接。
对于静态 (.a) 库,命令行上的多个副本实际上可能很有用,即使不是很漂亮,例如,如果 main 访问 libb,libb 又访问 libc,libc 又访问 libb 中 main 未访问的内容:
ld main.o -lb -lc -lb
是解决所有引用的一种方法。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)