Почему библиотека не включается в SHARED?
От: Shmj Ниоткуда  
Дата: 13.12.23 07:04
Оценка:
Вопрос такой, промучался 3 дня и сил уже нет.

Есть CMake-файл, там описана сборка SHARED-библиотеки. В нее включается много мелких библиотек с помощью target_link_libraries.

Мелкие библиотеки все статические — libmylib.a. Итоговая библиотека — SHARED — .so для Android и .dylib для macOS и iOS.

Так вот, один и тот же CMakeList файл — для iOS собирает библиотеку и она работает. Для Android — не видит символов.

Вот что сделал — вручную начал подключать эти мелкие .a библиотеки к проекту — и выявил что пару библиотек оно не включило в итоговый .so -файл. Ну взяло и не включило, хотя в target_link_libraries они указаны наряду с остальными. Если их вручную скопировать (эти .a-файлы) а так же указать в target_link_libraries для итогового проекта — то символы находит и итоговый проект собирается.

Пробовал добавить PUBLIC в target_link_libraries — ничего не дало.

Пробовал менять порядок в списке той, что не включается. Тоже ничего не дало.

В чем может быть проблема?
Отредактировано 13.12.2023 7:26 Shmj . Предыдущая версия . Еще …
Отредактировано 13.12.2023 7:17 Shmj . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.