2015-12-13 100 views
1

我已经安装了OpenCV的和细节如下:不兼容的错误2.4.12

brew info opencv homebrew/science/opencv: stable 2.4.12 (bottled),

HEAD Open source computer vision library http://opencv.org/ /usr/local/Cellar/opencv/2.4.12 (225 files, 36M)

然后,我跑了Python导入简历库,并获得导入错误

ImportError: dlopen(./cv2.so, 2): Library not loaded: /usr/local/lib/libpng16.16.dylib Referenced from: /usr/local/Cellar/opencv/2.4.12/lib/libopencv_highgui.2.4.dylib
Reason: Incompatible library version: libopencv_highgui.2.4.dylib requires version 35.0.0 or later, but libpng16.16.dylib provides version 34.0.0

我发现了一些相关的问题,并按照建议重新安装libpng以获取最新版本。不幸的是,它仍然不工作..

这里是libnpg的细节:

brew info libpng libpng: stable 1.6.19 (bottled), HEAD Library for manipulating PNG images http://www.libpng.org/pub/png/libpng.html

/usr/local/Cellar/libpng/1.6.19 (17 files, 1.2M)

回答

1

我终于解决这个问题!

导入cv,cv2模块时会加载目录:/usr/local/lib/libpng16.16.dylib中的“libpng16.16.dylib”。

即使我将libpng的版本更新为最新版本,新版本的“libpng16.16.dylib”仍保存在:/usr/local/Cellar/libpng/1.6.19而不是/ usr/local /lib/libpng16.16.dylib。

因此,我将最新版本的“libpng16.16.dylib”复制到目录:/usr/local/lib/libpng16.16.dylib,并且解决了!

我不确定这是最合适的解决方案,但至少可以工作。