Я хочу создать общую библиотеку из нескольких статических библиотек, используя GCC под OS X.
В некоторых статических библиотеках в разделяемой библиотеке нет кода, вызывающего его, я просто хочу экспортировать символы в эти статические библиотеки. Это работает в режиме отладки, но не в режиме выпуска (особенно когда я включаю чередование мертвого кода). Я могу понять причину, gcc думаю, что эти функции на статических библиотеках никогда не используются. но как я могу заставить gcc включить эти символы?
Я уже пытался добавить опцию -u для загрузчика, но он генерирует только локальный символ. как заставить компоновщик генерировать символ экспорта?
Кроме того, мне интересно, есть ли способ добавить директивы компоновщика в исходный код, как MSVC #pragrma comment(linker, "/INCLUDE:xxxx")
функция, которую я определил в статической библиотеке, выглядит следующим образом:
extern "C"
void test() {}
Заранее спасибо!
-Jonny