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嗎?怎麼做?