私はまだObjectiveCとXcodeにまったく慣れていませんが、openCVを使用する小さなアプリを完成させましたlibopencv_core.2.4.2.dylib
。
最終的にビルドされたアプリを別のマシンで開くと、OSXから次のエラーが発生しました。
Dyld Error Message: Library not loaded: */libopencv_core.2.4.dylib
Referenced from: /Users/USER/Desktop/my
app.app/Contents/MacOS/my app
Reason: image not found
ここでアプリが2.4.2ではなく2.4を探しているのはなぜですか?
私がすでにチェックしたこと:
新しいビルドフェーズを追加しました->それがlibopencv_core.2.4.2.dylib
アプリパッケージにコピーされるように(Xcodeの「バンドルリソースのコピー」を介して)-libopencv_core.2.4.2.dylib
今は私の中にありますapp.app/Resources
私は何を取りこぼしたか?ライブラリ検索パスなどをさらに設定しましたか?
私もしたこと:
install_name_tool -id "@executable_path/../Frameworks/libopencv_core.2.4.2.dylib" libopencv_core.2.4.2.dylib
dylibをFrameworksディレクトリにコピーしても機能しません。
Library not loaded: @executable_path/../Frameworks/libopencv_core.2.4.2.dylib
今何をすべきかわからない-dylibは私のアプリのFrameworksディレクトリにあります...
バイナリで使用otool -L
すると、次のようになります。
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 19.0.0)
@loader_path/../Frameworks/libopencv_core.2.4.2.dylib (compatibility version 2.4.0, current version 2.4.2)
@loader_path/../Frameworks/libopencv_highgui.2.4.2.dylib (compatibility version 2.4.0, current version 2.4.2)
@loader_path/../Frameworks/libopencv_imgproc.2.4.2.dylib (compatibility version 2.4.0, current version 2.4.2)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 945.11.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 56.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 744.1.0)
/System/Library/Frameworks/CoreData.framework/Versions/A/CoreData (compatibility version 1.0.0, current version 407.7.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1187.33.0)