Я ищу решение моей проблемы и просто получаю некоторые подсказки, но я не смог найти никакого последовательного решения: у меня есть код динамической библиотеки (libdyna.so), которая использует функции 3 статических библиотек.(libone.a, libtwo.a, libthree.a) и библиотека log4cpp.И когда я построил его в первый раз, все выглядело нормально, я мог создать 'libdyna.so', но когда вы проверили его с моей тестовой программой java, хотя обертка (jni обертка работает нормально), я получила множество неопределенных ссылок.
Затем я поместил флаг "-z defs" в файл make, и появилось много неопределенных ссылок, и я не смог снова скомпилировать динамическую библиотеку.
Я сделал 'nm'команда с тремя статическими библиотеками, и он экспортирует все функции, которые я правильно использую в dyna lib.Но когда я сделал nm над «libdyna.so», который включает в себя 3 статических библиотеки, я обнаружил неопределенные символы (функции).
Я думаю, что решения должны быть чем-то вроде добавления некоторого флага клинкер, когда я хочу сделать динамический, но я действительно не знаю.Может ли кто-нибудь мне помочь или рассказать какие-нибудь идеи?если какой-то код нужен, пожалуйста, дайте мне знать, и я вставлю его сюда.Большое спасибо.
P / D: Извините за мой плохой английский.