Конкретно пытаюсь установить glew и freetype. Я скопировал .dylibs в каталог .app и установил их пути с помощью install_name_tool. Когда я пытаюсь запустить их на других машинах, я получаю следующую ошибку:
Library not loaded: @executable_path/../Resources/libGLEW.2.0.0.dylib
Referenced from: /Volumes/*/Tetris.app/Contents/MacOS/Tetris
Reason: no suitable image found. Did find:
/Volumes/SharedFolders/build/Tetris.app/Contents/MacOS/../Resources/libGLEW.2.0.0.dylib: stat() failed with errno=22
/Volumes/SharedFolders/build/Tetris.app/Contents/MacOS/../Resources/libGLEW.2.0.0.dylib: stat() failed with errno=22
Я исправил проблему. Проблема заключалась в том, что я запускал install_name_tool только на исполняемом файле, когда мне нужно было запустить его на обоих исполняемых файлах, с -change
выключатель, и Dylib, с -id
переключатель.
Благодаря этому я также обнаружил, что у dylib есть другие dylib, от которых они зависят, которые, в свою очередь, должны быть скопированы в пакет и перенастроены с помощью install_name_tool.
Если кто-нибудь знает инструмент, который делает все это автоматически, пожалуйста, оставьте комментарий.
Других решений пока нет …