Library not loaded

233
15 декабря 2016, 16:02

Уважаемые форумчане!

Помогите исправить ошибку: я подключаю свою написанную динамическую библиотеку в консольное приложение, и получаю такую ошибку при запуске бинарника "test":

dyld: Library not loaded: /usr/local/lib/LibName.dylib
Referenced from: /Users/Documents/MyProj/Build/Release/test
Reason: image not found
Trace/BPT trap: 5

Как это исправить? Если класть файл LibName.dylib по адресу /usr/local/lib/, ошибка не исчезает. Ну хоть кто-нибудь ответьте на этот простой вопрос!!!

Answer 1

Решение найдено!!! Во-первых, в свойствах проекта нужно указывать, по какому адресу расположена библиотека:

Build Settings -> Linking -> Dynamic Library Install Name -> $(EXECUTABLE_PATH)
Build Settings -> Linking -> Dynamic Library Install Name Base -> $(EXECUTABLE_PATH)

Во-вторых, при загрузке библиотеки с помощью функции dlopen(), необходимо указывать абсолютный путь к ней с именем самой библиотеки. И третье, и самое главное, в чём была ошибка - НЕ ДОБАВЛЯЙТЕ библиотеку в Link Binary With Libraries!!! Этот раздел используется для СТАТИЧЕСКИХ библиотек.

READ ALSO
Как скомпилить “Hello world” в С++ Qt в Linux?

Как скомпилить “Hello world” в С++ Qt в Linux?

Самый простой пример:

162
Строка в u32string. Как выполнить uppercase?

Строка в u32string. Как выполнить uppercase?

Использую строку u32stringКак выполнить преобразование uppercase, то есть маленькие символы преобразовать в большие?

230
QT Creator под windows не находит файл проекта (.pro)

QT Creator под windows не находит файл проекта (.pro)

Что делать, если QT Creator под windows не находит файл проекта (pro) и в лог постройки пишет следующее:

182