Я пытаюсь перенастроить параметры своего проекта в зависимости от расположения сторонних библиотек.
Подробно, я хочу установить новое место поиска для нескольких библиотек наддува, которые я однажды установил, используя Homebrew
из папки установки по умолчанию (/usr/local/opt/boost/lib/
), в другое место относительно моего проекта ($(PROJECT_DIR)/3rdParty/boost/lib
где я держу самостоятельно скомпилированную версию).
Я удостоверился, что все файлы dylib находятся в моем предопределенном местоположении, и при установке Link Binary With Libraries
я выбираю Add other
и вручную введите соответствующий путь.
Однако после компиляции я все еще вижу пути к библиотекам по умолчанию:
otool -L myProject
/usr/local/opt/boost/lib/libboost_system.dylib
/usr/local/opt/boost/lib/libboost_thread-mt.dylib
Таким образом, во время выполнения, это связано с библиотеками повышения по умолчанию (из /usr/local/opt/...
)
Обходной путь, который я нашел, состоит в том, чтобы установить новый путь, используя install_name_tool
яблоко при условии. Но должен быть более легкий путь.
На самом деле, я не перекомпилировал все форсированные дилибы, поэтому они должны быть найдены в расположении по умолчанию … поэтому я хотел бы установить общее правило, которое сначала попытается найти библиотеку в моем местоположении $(PROJECT_DIR)/3rdParty/boost/lib
и если не найден, то по умолчанию /usr/local/opt/boost/lib/
P.S
Я знаю, что этот вопрос задавался здесь в некоторых вариациях, но я не нашел никакого решения для изменения расположения библиотеки ссылок в качестве приоритета перед сборкой моего исполняемого файла.
Задача ещё не решена.
Других решений пока нет …