Как правильно распределить зависимости dylib в пакете .app на OSX?

Конкретно пытаюсь установить 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

0

Решение

Я исправил проблему. Проблема заключалась в том, что я запускал install_name_tool только на исполняемом файле, когда мне нужно было запустить его на обоих исполняемых файлах, с -change выключатель, и Dylib, с -id переключатель.

Благодаря этому я также обнаружил, что у dylib есть другие dylib, от которых они зависят, которые, в свою очередь, должны быть скопированы в пакет и перенастроены с помощью install_name_tool.

Если кто-нибудь знает инструмент, который делает все это автоматически, пожалуйста, оставьте комментарий.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]