【发布时间】:2014-01-22 09:33:25
【问题描述】:
我找不到将所有函数名称包含到最终发布二进制文件中的任何类似选项。还是clang默认做的?
【问题讨论】:
我找不到将所有函数名称包含到最终发布二进制文件中的任何类似选项。还是clang默认做的?
【问题讨论】:
这个问题的正确答案是-Wl,-export_dynamic 而不是 -Wl,--export-dynamic。
-Wl,--export-dynamic 仅当您在 ELF 平台上使用 GNU 链接器时才正确。
这个问题是关于 OS X 的。
来源: http://www.opensource.apple.com/source/ld64/ld64-236.3/src/ld/Options.cpp
...
else if ( strcmp(arg, "-export_dynamic") == 0 ) {
fExportDynamic = true;
}
...
【讨论】:
至少 clang 3.3 似乎支持 -rdynamic 尽管clang --help 和手册页都没有记录它。 (如果您在 OSX 上,则不需要 -rdynamic)
gcc -rdynamic 说“-rdynamic
将标志 --export-dynamic 传递给支持它的目标上的 ELF 链接器。"
所以clang 也应该能够对-Wl,--export-dynamic 做同样的事情。
【讨论】:
-export-dynamic,但支持-rdynamic。
我的 Google-fu 告诉我您可以将其替换为
-Wl,--export-dynamic
这是 GCC 在传递 -rdynamic 时通常传递给链接器的内容。我会先尝试一下,看看是否需要标志。
【讨论】: