我正在尝试安装修改后的caffe版本作为此库安装的一部分:https://github.com/wasidennis/ObjectFlow/tree/master/caffe-cedn-dev 我在ubuntu 14.04上,正在使用caffe网站上列出的cmake安装。
我已经安装了matlab&在路径中有mex文件。
cmake ..
之后我执行make all
并收到此错误:
Linking CXX executable caffe
../lib/libcaffe.a(io.cpp.o): In function `caffe::ReadImageToDatum(std::string const&, int, int, int, bool, caffe::Datum*)':
io.cpp:(.text+0x67d): undefined reference to `cv::imread(cv::String const&, int)'
../lib/libcaffe.a(window_data_layer.cpp.o): In function `caffe::WindowDataLayer<float>::InternalThreadEntry()':
window_data_layer.cpp:(.text._ZN5caffe15WindowDataLayerIfE19InternalThreadEntryEv[_ZN5caffe15WindowDataLayerIfE19InternalThreadEntryEv]+0x44b): undefined reference to `cv::imread(cv::String const&, int)'
../lib/libcaffe.a(window_data_layer.cpp.o): In function `caffe::WindowDataLayer<double>::InternalThreadEntry()':
window_data_layer.cpp:(.text._ZN5caffe15WindowDataLayerIdE19InternalThreadEntryEv[_ZN5caffe15WindowDataLayerIdE19InternalThreadEntryEv]+0x446): undefined reference to `cv::imread(cv::String const&, int)'
collect2: error: ld returned 1 exit status
make[2]: *** [tools/caffe] Error 1
make[1]: *** [tools/CMakeFiles/caffe.bin.dir/all] Error 2
make: *** [all] Error 2
关注https://github.com/BVLC/caffe/issues/1276后,我查看pkg-config --cvflags opencv
的输出-I/usr/local/include/opencv -I/usr/local/include
这与安装OpenCV安装标头的位置相同。 (我不确定它的因果关系。)OpenCV 3.1和2.4都转到那些文件 - 我尝试安装它们并在它们之间切换我只是移动opencv
和opencv2
标题文件夹到我使用其他opencv时到tmp文件夹。我认为这可能是错误的根源,因为我不知道如何判断我的程序使用的OpenCV版本是肯定的。
更具体地说,我所做的是:
我将opencv_imgcodecs
添加到Makefile
通过apt-get
安装opencv通过apt-get remove
卸载opencv安装了一个我不记得版本的opencv版本
安装3.1&amp; 2.4来自src&amp;如上所述切换了标题文件夹。
删除了opencv src&amp;的一个版本标题文件夹,我不知道如何查看它是什么版本。
从我开始检查时,python import cv2从版本3.1变为现在3.2-dev。