Я не могу найти аналогичный вариант, который включал бы все имена функций в бинарный файл окончательного релиза. Или clang
делает это по умолчанию?
Что эквивалентно clang флагу -rdynamic gcc?
Ответы:
По крайней мере, clang 3.3, кажется, поддерживает -rdynamic
, хотя ни clang --help
, ни man-страница не документируют это. (Если вы используете OSX, -rdynamic не нужен)
gcc -rdynamic
говорит: «-rdynamic Передайте флаг --export-dynamic компоновщику ELF для целей, которые его поддерживают».
Таким образом, clang также должен иметь возможность делать то же самое с -Wl,--export-dynamic
.
Правильный ответ на этот вопрос: -Wl,-export_dynamic
, а не -Wl,--export-dynamic
.
-Wl,--export-dynamic
правильно только в том случае, если вы используете компоновщик GNU на платформах ELF.
Этот вопрос касается 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;
}
...
Мой Google-фу говорит мне, что вы можете заменить это на
-Wl,--export-dynamic
Это то, что GCC обычно передает компоновщику при передаче -rdynamic
. Я бы сначала попробовал без всего и посмотрел, нужен ли флаг.
-export-dynamic
, но поддерживает-rdynamic
. 10.02.2018