2015-11-12 190 views
1

我想使用OpenCV,但我不能編譯它,我認爲這是因爲Eigen。編譯OpenCV/Eigen3失敗

當我使用的CMake命令

,艾根發現:

> - 使用本徵:(3.2.2版本)

而我只有EIGEN2我的電腦上YES。 (也許這是一個過時的文件,但我不知道它來自哪裏)。

然後,一旦CMake的是做我做

make -j4

在64%我有這樣以下錯誤:

/home/sl001093/opencv-2.4.10/modules/contrib/src/rgbdodometry .cpp:65:47:致命錯誤:不支持/ Eigen/MatrixFunctions:沒有這樣的文件 編譯中止。 化妝[2]:* [模塊/的contrib/CMakeFiles/opencv_contrib.dir/SRC/rgbdodometry.cpp.o]錯誤1 使1:* [模塊/的contrib/CMakeFiles/opencv_contrib.dir /所有]錯誤2 make:*** [all] Erreur 2

非常感謝您提前!

編輯:此命令行ccmake Output of the command line ccmake

回答

1
  • 使用cmake的桂
  • 集的OpenCV源,並建立目錄的輸出
  • 配置
  • 在搜索框中,鍵入「徵「
  • 激活」WITH_EIGEN「標誌
  • 再次配置
  • 應該出現一個變量「EIGEN_INCLUDE_PATH」:點擊那裏並瀏覽到你的Eigen庫的「include」子目錄。 Eigen是一個僅包含頭文件的庫,因此您不需要安裝/構建它:只需download a package(請參閱頁面右側的「獲取」一節),並將其解壓縮以用於構建OpenCV。

順便說一句,爲什麼你已經使用OpenCV 2.4時OpenCV 3 available?可能是因爲OpenCV 2.4與最新版本的Eigen不兼容,但我知道它與version 3.2.2兼容。

+0

謝謝你的回答。你怎麼用Ubuntu做cmake gui。我試着用ccmake,但沒有找到EIGEN_INCLUDE_PATH。 順便說一下,我使用了一個選項來通過構建OpenCV去激活特徵...這是我找到的解決方案,但是很可惜。在我從未遇到過這種問題之前。如果需要,我會在網站上下載Eigen。謝謝 ! – lilouch

+0

@lilouch我不使用ccmake,你能在那裏看到'WITH_EIGEN'變量嗎?無論如何,對於cmake-gui,可以從命令行嘗試'cmake-gui',或者嘗試[本指南](http://askubuntu.com/questions/355565/how-to-install-latest-cmake-version-in -linux-ubuntu-from -command-line/595441#595441)獲取cmake的最新版本,並將'cmake'和'cmake-gui'放入你的路徑。 – Antonio

+0

是的,我可以關閉它!因此,在使用ON時,我將WITH_EIGEN變量更改爲OFF。 – lilouch