OpenCV用于在我的Mac OS(10.9,小牛)上正常工作。但是我升级了依赖库libpng后出现了一些问题。对于一个简单的程序:OpenCV库依赖libpng版本
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
int main(int argc, char** argv)
{
Mat image;
image = imread(argv[1], 1);
if(argc != 2 || !image.data)
{
printf("No image data \n");
return -1;
}
namedWindow("Display Image", CV_WINDOW_AUTOSIZE);
imshow("Display Image", image);
waitKey(0);
return 0;
}
它由CMake顺利编译。但是当我运行它时,错误弹出:
dyld: Library not loaded: /usr/local/opt/libpng/lib/libpng15.15.dylib
Referenced from: /usr/local/lib/libopencv_highgui.2.4.dylib Reason:
image not found
Trace/BPT trap: 5
我检查了目录/ usr/local/opt/libpng/lib /。看来的libpng的当前版本是16,因为有符号链接,如
libpng.a libpng16.16.dylib libpng16.dylib
libpng.dylib libpng16.a pkgconfig
我已经试过“酿造升级的OpenCV”和OpenCV是最新的版本(2.4.9)。通常opencv应该支持libpng16,因为它是最新的。我不知道libpng15和libpng16之间的区别。我应该卸载这个libpng16并安装libpng15吗?怎么做?