我注意到当我使用gcc创建应用程序并在链接阶段查看输出时,我看到以下lib包含两次:
/home/rb01/opt/trx-HEAD/gcc/4.2.4/lib/../lib64/libstdc++.so
所以我只是想知道这是g ++(gcc)的问题,还是第二个被忽略了?
谢谢!
如果库中的符号已经解析,则链接器会忽略它们.对于共享库,就像在这种情况下,链接器实际上并不实际链接.
对于静态(.a)库,命令行上的多个副本实际上可能很有用,如果不是很漂亮,例如主访问libb访问libc,libc访问libb中没有被main访问的东西:
ld main.o -lb -lc -lb
Run Code Online (Sandbox Code Playgroud)
是解决所有引用的一种方法.
| 归档时间: |
|
| 查看次数: |
1869 次 |
| 最近记录: |