6

我收到以下问题:

/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

4 回答 4

4

OpenCV 3.3 OSX 10.13 先测试一下,可以使用clang++ -oa -I ./include -L ./lib -lopencv_core.your.version 然后生成可执行文件a,运行它,如果有错误消息。当你链接时你会发现错误原因找不到库。

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

于 2017-11-16T04:37:31.810 回答
2

如果你使用

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

它是否适用于您的程序环境?您可以检查正在运行的进程的环境变量

ps -p <pid> -wwwE

这有帮助吗?

于 2014-11-20T15:02:58.003 回答
2

如果您遇到此问题:

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

于 2020-03-27T02:23:29.437 回答
1

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

answers.opencv.org 上的这个答案解决了这个问题。在和替换为OpenCVModule.cmake的每个实例中。CMakeLists.txtINSTALL_NAME_DIR libINSTALL_NAME_DIR ${CMAKE_INSTALL_PREFIX}/lib

于 2015-03-14T02:26:33.933 回答