将静态库与clang链接,不依赖于顺序

Mok*_*sha 6 c++ clang static-linking lld

在GCC中,我可以使用链接器标志-Wl,--start-group-Wl,--end-group解决与具有循环依赖关系的库的链接问题.我想对clang做同样的事情,但似乎这个功能在lld 3.2版本中删除了.我该怎么做?

use*_*999 4

LLVM 3.2 的发行说明指出

llvm-ld 和 llvm-stub 已被删除,llvm-ld 功能可以部分由 llvm-link 替代 | 选择| {有限责任公司| 作为,llc -filetype=obj} | ld,或者完全被 Clang 取代。

默认情况下,clang 似乎使用系统链接器。例如,在 Linux 上它使用 GNU ld:

$ clang --version
clang version 3.2 (branches/release_32 170558)
...
$ clang -Wl,--verbose
GNU ld (GNU Binutils; devel:gcc / openSUSE_12.3) 2.24.0.20140403-196
...
Run Code Online (Sandbox Code Playgroud)

这表明您可以像 GCC 一样使用 -Wl,--start-group 和 -Wl,--end-group。