【发布时间】:2014-11-17 03:14:54
【问题描述】:
在 GCC 中,我可以使用链接器标志 -Wl,--start-group 和 -Wl,--end-group 来解决与具有循环依赖关系的库的链接问题。我想对 clang 做同样的事情,但这个功能似乎是 dropped in lld version 3.2。我该怎么做?
【问题讨论】:
-
列出所有库(以任何顺序)两次:
-la -lb ...-lx -la -lb ... -lx(最好使用脚本完成) -
@mlvljr 这可能还不够。
-
@user1225999 应该是——这保证对于目标代码中引用的每个符号,~定义将在引用/声明之后至少出现一次
-
@mlvljr GNU ld 将只包含它当时实际需要的存档中的对象。知道这一点就可以轻松构建反例:pastebin.com/YSrNqT4h
标签: c++ clang static-linking lld