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

C++ dyld:未加载库:lib/libopencv_core.3.0.dylib原因:未找到图像,c++,macos,opencv,machine-learning,svmlight,C++,Macos,Opencv,Machine Learning,Svmlight,我得到以下问题: /Users/luke/Desktop/trainHOG/trainHOG;出口 dyld:未加载库:lib/libopencv_core.3.0.dylib 引用自:/Users/luke/Desktop/trainHOG/trainHOG 原因:找不到图像 跟踪/BPT陷阱:5 注销 我使用的是运行OSX v10.9.5和openCV 3.0 alpha的Mac 有问题的图书馆肯定在文件夹里。我已经尝试过删除它并将其粘贴回文件夹,我已经完全删除并重新安装了openCV和ma

我得到以下问题:

/Users/luke/Desktop/trainHOG/trainHOG;出口
dyld:未加载库:lib/libopencv_core.3.0.dylib
引用自:/Users/luke/Desktop/trainHOG/trainHOG
原因:找不到图像
跟踪/BPT陷阱:5
注销

我使用的是运行OSX v10.9.5和openCV 3.0 alpha的Mac

有问题的图书馆肯定在文件夹里。我已经尝试过删除它并将其粘贴回文件夹,我已经完全删除并重新安装了openCV和macports,我还尝试过
导出DYLD_库\u PATH=“PATH to dynamic libs here..”
,但没有任何效果。我甚至多次重新启动我的电脑

有人有进一步的建议吗?如果你使用,我没有主意了

export DYLD_LIBRARY_PATH = "path to dynamic libs here.."
它是否应用于您的程序环境? 您可以使用检查正在运行的进程的环境变量

ps -p <pid> -wwwE
ps-p-wwwE

这有帮助吗?

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

解决了这个问题。在
OpenCVModule.cmake
CMakeLists.txt
的每个实例中,将
INSTALL\u NAME\u DIR lib
替换为
INSTALL\u NAME\u DIR${cmake\u INSTALL\u PREFIX}/lib
OSX 10.13 首先进行测试,您可以使用clang++-oa-I./include-L./lib -lopencv_core.your.version 然后你可以生成一个可执行文件,运行它,如果有错误信息。 您将发现错误原因,即在链接时找不到库

如果您想解决终端上的错误 您可以使用导出DYLD\u LIBRARY\u PATH=your/lib:$DYLD\u LIBRARY\u PATH 如果您想解决Xcode上的错误 在构建页面中,转到“运行路径搜索路径”
如果出现此问题,请添加lib path

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

表示您的*.dylib文件未使用Apple iD develop帐户签名,以及 有两种方法可以解决这个问题:

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

codesign -f -s "Mac Developer: YOURDEVELOPEREMAIL" /usr/local/opt/*/lib/*.dylib
2) 临时方法(直到您不部署到应用商店):在Xcode内,转到:

[YourProjectFile]
-->
[YourTargetFile]
-->-->“签名和功能”-->并启用
“禁用库验证”


完成:D

这对我不起作用。安装3.0仍然会产生带有绝对引用的dylibs。