В настоящее время я создал файл «dmg» с помощью macdeployqt и обнаружил следующую ошибку.
Dyld Error Message:
Library not loaded: @executable_path/../Frameworks/libosg.141.dylib
Referenced from: /Users/USER/*/myApp2.app/Contents/MacOS/MyApp2
Reason: image not found
Затем я наткнулся на этот пост @cristopher bruns, который объяснил ситуацию. По сути, мне нужно было добавить libosg.141.dylib
в приложение, а затем добавить все библиотеки, от которых зависело libosg.141.dylib
. Так, например, libosg.141.dylib
зависит от следующих 13 файлов.
> otool -L /usr/local/lib/libosgDB.dylib
/usr/local/lib/libosgDB.dylib:
libosgDB.141.dylib (compatibility version 141.0.0, current version 3.5.1)
libosgUtil.141.dylib (compatibility version 141.0.0, current version 3.5.1)
/System/Library/Frameworks/Carbon.framework/Versions/A/Carbon (compatibility version 2.0.0, current version 157.0.0)
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 22.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1226.10.1)
/usr/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.5)
/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL (compatibility version 1.0.0, current version 1.0.0)
libosg.141.dylib (compatibility version 141.0.0, current version 3.5.1)
libOpenThreads.20.dylib (compatibility version 20.0.0, current version 3.3.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 120.1.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1256.14.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 1256.1.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
Мой вопрос: нужно ли мне добавлять все эти 13 файлов в приложение? Как глубоко мне нужно идти? Как я мог знать, когда остановиться. Так как каждый из этих файлов может иметь свои собственные зависимости?