У меня есть один libA.so.Он используется методом JNI.
И у меня есть две разные версии Ubuntu.Одним из них является Ubuntu 8.04, а другим - Ubuntu 9.10.
libA.so имеет зависимость.libA.so зависит от libB.so, а libB.so зависит от libC.so.
т.е.libA.so -> libB.so -> libC.so (На самом деле libB.so и libC.so связаны с GTK)
libA.so скомпилирован в Ubuntu 8.04.И метод JNI отлично работает в Ubuntu 9.10.(очень странно)
Но иногда это не работает в Ubuntu 8.04.Он возвращает ошибку «неопределенный символ GTK_SET_BULA».
Поэтому я проверил его, используя readelf -a libC.so
, и смог найти символ.
Я проверил его, используя ldd libA.so
и ldd libB.so
.Информация о ссылке тоже подойдет.
Я имею представление об этой проблеме.Пожалуйста, дайте мне знать ваше отличное мнение.Спасибо.