dyld:库未加载:/usr/local/opt/jpeg/lib/libjpeg.9.dylib OpenCV C++ MacOS
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib OpenCV C++ MacOS
我一直在尝试使用 C++ 使 OpenCV (3.4.0) 在 MacOS (10.11.6) 上运行。
我已经尝试了多种安装方式,但最终 "succeeding" 遵循 this 指南。
我现在正在尝试 运行 CLion 中的以下示例项目:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( )
{
Mat image;
image = imread("image1.jpg", CV_LOAD_IMAGE_COLOR);
waitKey(0);
return 0;
}
项目构建良好,但是当我尝试 运行 时,出现以下错误:
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
我一直在四处寻找,我能找到的唯一相关问题与 PHP 有关。
非常感谢任何形式的正确方向的帮助或指示!
非常感谢!
OpenCV 需要 libjpeg 库来读取您的 jpg 文件,并且当您 运行 您的程序时它会动态加载(如 DLL)。该程序在预定义路径搜索该动态库 - /usr/local/opt/jpeg/lib/libjpeg.9.dylib
,很可能您没有该文件。
第一步是在您的计算机上找到这个库,您可以通过 运行ning:
sudo find / -name 'libjpeg.*'
如果什么也没找到(就像我遇到的那样),您有几种选择:从源代码构建库,找到预构建的库并下载它,或者从包管理器(如 brew 或麦克波特)。可能我会先尝试酿造。注意:您可能需要 libjpeg 库的第 9 版。
brew install libjpeg
命令对我有用。 (您需要先install brew)。
第二步:获取库时,需要确保程序能够找到它。通常有一种方法可以在构建时使用 OpenCV 构建脚本中某处的一些构建脚本变量来覆盖 /usr/local/opt
等硬编码路径。一种更简单的方法可能是将它安装在预期的位置(在 /usr/local/opt
),或者从该路径创建一个符号链接到真实位置。
我用过 brew,它实际上安装在预期的路径:
bash-3.2$ pwd
/usr/local/opt/libjpeg/lib
bash-3.2$ ls
libjpeg.9.dylib libjpeg.a libjpeg.dylib pkgconfig
bash-3.2$ brew info libjpeg
jpeg: stable 9c (bottled)
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/9c (21 files, 724.6KB) *
我一直在尝试使用 C++ 使 OpenCV (3.4.0) 在 MacOS (10.11.6) 上运行。
我已经尝试了多种安装方式,但最终 "succeeding" 遵循 this 指南。
我现在正在尝试 运行 CLion 中的以下示例项目:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( )
{
Mat image;
image = imread("image1.jpg", CV_LOAD_IMAGE_COLOR);
waitKey(0);
return 0;
}
项目构建良好,但是当我尝试 运行 时,出现以下错误:
dyld: Library not loaded: /usr/local/opt/jpeg/lib/libjpeg.9.dylib
我一直在四处寻找,我能找到的唯一相关问题与 PHP 有关。 非常感谢任何形式的正确方向的帮助或指示! 非常感谢!
OpenCV 需要 libjpeg 库来读取您的 jpg 文件,并且当您 运行 您的程序时它会动态加载(如 DLL)。该程序在预定义路径搜索该动态库 - /usr/local/opt/jpeg/lib/libjpeg.9.dylib
,很可能您没有该文件。
第一步是在您的计算机上找到这个库,您可以通过 运行ning:
sudo find / -name 'libjpeg.*'
如果什么也没找到(就像我遇到的那样),您有几种选择:从源代码构建库,找到预构建的库并下载它,或者从包管理器(如 brew 或麦克波特)。可能我会先尝试酿造。注意:您可能需要 libjpeg 库的第 9 版。
brew install libjpeg
命令对我有用。 (您需要先install brew)。
第二步:获取库时,需要确保程序能够找到它。通常有一种方法可以在构建时使用 OpenCV 构建脚本中某处的一些构建脚本变量来覆盖 /usr/local/opt
等硬编码路径。一种更简单的方法可能是将它安装在预期的位置(在 /usr/local/opt
),或者从该路径创建一个符号链接到真实位置。
我用过 brew,它实际上安装在预期的路径:
bash-3.2$ pwd
/usr/local/opt/libjpeg/lib
bash-3.2$ ls
libjpeg.9.dylib libjpeg.a libjpeg.dylib pkgconfig
bash-3.2$ brew info libjpeg
jpeg: stable 9c (bottled)
Image manipulation library
http://www.ijg.org
/usr/local/Cellar/jpeg/9c (21 files, 724.6KB) *