我找不到任何类似的选项,将所有函数名称都包含在最终版本二进制文件中。或clang
默认执行此操作?
答案 0 :(得分:8)
至少clang 3.3似乎支持-rdynamic
,但clang --help
和联机帮助页都没有记录它。 (如果您使用的是OSX,则不需要-rdynamic)
gcc -rdynamic
说“ - 动态
将标志--export-dynamic传递给支持它的目标上的ELF链接器。“
所以clang也应该能够对-Wl,--export-dynamic
做同样的事情。
答案 1 :(得分:8)
此问题的正确答案是-Wl,-export_dynamic
和不 -Wl,--export-dynamic
。
-Wl,--export-dynamic
才是正确的。
这个问题与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;
}
...
答案 2 :(得分:1)
我的Google-fu告诉我你可以用
替换它-Wl,--export-dynamic
GCC在传递-rdynamic
时通常会传递给链接器。我会首先尝试一下,看看是否有必要。