在Qiana建设opencv失败

时间:2015-06-23 02:10:13

标签: c++ opencv cmake makefile eigen

我在编译OpenCV时遇到了问题。错误消息说我没有Eigen。但是,我的/ usr / local / include目录中有一个。另外,我用下面的选项运行CMake CMake的:

cmake -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D INSTALL_C_EXAMPLES=ON -D INSTALL_PYTHON_EXAMPLES=ON -D BUILD_EXAMPLES=ON -D WITH_QT=ON -D WITH_OPENGL=ON -D CUDA_GENERATION=Auto USE_EIGEN=/usr/local/include/Eigen ..

编译OpenCV(通过make):

[ 75%] Building CXX object modules/contrib/CMakeFiles/opencv_contrib.dir/src/rgbdodometry.cpp.o
/home/gom7745/IR/opencv-2.4.11/modules/contrib/src/rgbdodometry.cpp:65:47: fatal error: unsupported/Eigen/MatrixFunctions: No such file or directory
 #  include <unsupported/Eigen/MatrixFunctions>
                                               ^
compilation terminated.
make[2]: *** [modules/contrib/CMakeFiles/opencv_contrib.dir/src/rgbdodometry.cpp.o] Error 1
make[1]: *** [modules/contrib/CMakeFiles/opencv_contrib.dir/all] Error 2
make: *** [all] Error 2

有没有人对此有任何想法?谢谢!

2 个答案:

答案 0 :(得分:0)

这里cmake无法找到 unsupported / Eigen / MatrixFunctions 。首先找到Eigen的安装位置,在我的例子中它位于 / usr / local / include / eigen3 。现在找到你的rgbdodometry.cpp文件,就我而言,它位于 / opencv_contrib / modules / rgbd / src 中。打开cpp文件并使用类似

的内容修改上一行
  

“的/ usr /本地/包含/ eigen3 /不支持/本征/ MatrixFunctions”

答案 1 :(得分:0)

使用-DWITH_EIGEN=OFF构建它解决了我的问题。