Backgroud:
Мое приложение не запускается на этапе соединения и получает следующее сообщение:
link_image [1995] ... lib1.so
не может связать исполняемый файл
Приложение зависит от нескольких динамических библиотек следующим образом:
приложению нужны lib1, lib1 dlopen lib2, а в lib1 имеется приложение, экспортируемое приложением (глобальная переменная).
Я протестировал lib2 с простой программой, которая в порядке. Поэтому я думаю, что ошибка из-за lib1 на этапе соединения . (Могу пообещать, что все остальные библиотеки, которые нужны приложению, находятся в текущем каталоге, а "./" был добавлен в LD_LIBRARY_PATH. Я также попытался поставить все библиотеки в / system / lib)
Вопрос:
- Как включить вывод отладчика компоновщика для получения подробного сообщения об ошибке?
- Любое другое предложение?
edit1:
после еще одного теста кажется, что ошибка ссылки связана с глобальным символом, на который ссылается lib1, который определен в main.c
Нужны ли в Android дополнительные флаги сборки для включения эталонной глобальной переменной в main?