У меня есть приложение Qt, которое использует библиотеку буферов буфера. Я хочу сделать его автономным. Однако после того, как я управлял библиотеками для статической привязки, приложение по-прежнему зависит от библиотек boost. библиотеки, которые я Включенная:Boost Logger Статическое связывание: не работает
..../boost_1_61_0_b1/stage/lib/libboost_regex.a
..../boost_1_61_0_b1/stage/lib/libboost_log_setup.a
..../boost_1_61_0_b1/stage/lib/libboost_thread.a
..../boost_1_61_0_b1/stage/lib/libboost_log.a
..../boost_1_61_0_b1/stage/lib/libboost_system.a
..../boost_1_61_0_b1/stage/lib/libboost_filesystem.a
В компилирует приложение (после бесчисленных попыток). Однако, когда я использую инструмент ldd, он показывает библиотеки boost в списке зависимостей.
Примечание: Я должен определить BOOST_ALL_DYN_LINK. В противном случае он не связывается.
Есть ли способ не использовать этот макрос и преодолеть проблему зависимости? Если нет, то какие решения вы предлагаете обойти эту проблему?
Скомпилируйте все библиотеки boost как статические библиотеки на 1-м месте. Я уверен, что есть опция bjam, которую вы можете использовать, чтобы достичь этого. –
Но у меня есть файлы .a и .so в/stage/libs. Должен ли я отделить их? –