Добрый день.
Это тестовый проект в Линуксе, чтобы потренироватся с работой с so и статической библиотекой.
Всё вроде компилируется, но ldd выдаёт, что к проекту приделана libtest_1.so , хотя я её удалил из проекта везде, откуда можно.
Вопросы:
1. Как правильно удалить из проекта libtest_1.so , чтобы её не было?
2. Как правильно добавить библиотеку so к проекту?
Из проекта удалена so, но при компиляции всё равно её цепляе
Модератор: Модераторы
-
cirk-s-konyami
- незнакомец
- Сообщения: 8
- Зарегистрирован: 23.05.2022 16:54:38
Из проекта удалена so, но при компиляции всё равно её цепляе
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Запуск -> Очистить и собрать
-
cirk-s-konyami
- незнакомец
- Сообщения: 8
- Зарегистрирован: 23.05.2022 16:54:38
Это не помогает.Dakor писал(а):Запуск -> Очистить и собрать
Добавлено спустя 1 час 57 минут 9 секунд:
Re: Из проекта удалена so, но при компиляции всё равно её цепляе
Разобрался.
Предполагаю, что это глюк компилятора и линковщика на тему статических и so библиотек.
В коде есть декларация внешней функции для вызова из статической библиотеки libtest_1.a
Однако, в каталоге проекта две библиотека: libtest_1.a и libtest_1.so
Когда в коде есть декларация функции на внешнюю статическую библиотеку, компилятор/линковщик создают зависимость от so библиотеки с таким же именем.
Проблема была решена методом переименования so библиотеки в libtest_2.so , после этого компилятор/линковщик перестали создавать ссылку на so , которая по названию похожа на статическую библиотеку.
Почему так?
