dyld:未加载库:lib / libopencv_core.3.0.dylib原因:找不到图像

时间:2014-11-17 17:54:12

标签: c++ macos opencv machine-learning svmlight

我收到以下问题:

/Users/luke/Desktop/trainHOG/trainhog ; exit; dyld: Library not loaded: lib/libopencv_core.3.0.dylib Referenced from: /Users/luke/Desktop/trainHOG/trainhog Reason: image not found Trace/BPT trap: 5 logout

我正在使用运行OSX v10.9.5并使用openCV 3.0 alpha的Mac。

有问题的库肯定在文件夹中。我已经尝试删除它并将其粘贴回文件夹,我已经完全删除并重新安装了openCV和macports,我尝试了export DYLD_LIBRARY_PATH = "path to dynamic libs here..",但没有任何效果。我甚至多次重启了我的电脑!

有没有人有任何进一步的建议?我没有想法

4 个答案:

答案 0 :(得分:3)

OpenCV 3.3 OSX 10.13 拳头有一个测试,你可以使用clang ++ -o a -I ./include -L ./lib -lopencv_core.your.version 那么你可以生成可执行文件a,运行它,如果有错误按摩。 当你链接时,你会发现错误原因无法找到lib。

如果你想解决终端上的错误 你可以使用导出DYLD_LIBRARY_PATH =你的/ lib:$ DYLD_LIBRARY_PATH 如果你想解决Xcode上的错误 在构建页面中,转到“运行路径搜索路径” 添加lib路径

答案 1 :(得分:2)

如果您使用

export DYLD_LIBRARY_PATH = "path to dynamic libs here.."

是否适用于您的程序环境? 您可以使用

检查正在运行的进程的环境变量
ps -p <pid> -wwwE

这有帮助吗?

答案 2 :(得分:1)

某些版本的OpenCV的CMake配置文件似乎是一个错误,它错误地记录了安装的dylib中的相对路径,相当容易修复。

This answer on answers.opencv.org解决了这个问题。在OpenCVModule.cmakeCMakeLists.txt的每个实例中,将INSTALL_NAME_DIR lib替换为INSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib

答案 3 :(得分:0)

如果您遇到此问题:

dyld:未加载库:* .dylib ...原因:未找到合适的图像。

表示您的* .dylib文件未使用Apple iD开发帐户签名,并且 有两种解决方法:

1)正确的方法:使用以下命令对所有文件进行代码签名:

codesign -f -s "Mac Developer: YOURDEVELOPEREMAIL" /usr/local/opt/*/lib/*.dylib

2)临时方式(直到您没有部署到App Store之前):在Xcode中,转到:

[YourProjectFile]-> [YourTargetFile]-> "Signing & Capabilities"->并启用"Disable Library Validation"

完成:D