OpenCV отлично работает на моей Mac OS (10.9, Mavericks). Но есть некоторые проблемы после того, как я обновил зависимую библиотеку 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/местные/Opt/Libpng/Библиотека /. Представляется, что текущая версия 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? Как это сделать?