我仍然是Objective C和Xcode的新手,但我刚刚完成了一个使用openCV的小应用程序libopencv_core.2.4.2.dylib.
当我在另一台机器上打开最终构建的应用程序时,OS X向我抛出了这个错误:
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
Run Code Online (Sandbox Code Playgroud)
为什么我的应用在这里寻找2.4而不是2.4.2?
我已经检查过:
我添加了一个新的构建阶段 - >因此将libopencv_core.2.4.2.dylib其复制到应用程序包(通过Xcode中的"Copy Bundle Resources") - 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
Run Code Online (Sandbox Code Playgroud)
将dylib复制到Frameworks目录也不起作用:
Library not loaded: @executable_path/../Frameworks/libopencv_core.2.4.2.dylib
Run Code Online (Sandbox Code Playgroud)
不知道现在该做什么-在dylib 是在我的应用程序的框架目录...
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 …Run Code Online (Sandbox Code Playgroud)