2016-03-03 118 views
2

我試圖在我的Raspberry Pi 2B上構建OpenCV 3.1.0。偏偏,我想:構建OpenCV時CMake錯誤 - CMakeLists不匹配

cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D INSTALL_C_EXAMPLES=OFF \ -D INSTALL_PYTHON_EXAMPLES=OFF /home/pi/Downloads/opencv-3.1.0

它給了我一個錯誤:(:

CMake Error: The source "/home/pi/Downloads/opencv-3.1.0/CMakeLists.txt" does not match the source "/home/pi/Downloads/opencv-3.1.0/modules/CMakeLists.txt" used to generate cache. Re-run cmake with a different source directory.

我想使用OpenCV的使用C++和Code :: Bocks,我已經安裝了 我可以在互聯網上找不到任何解決方案,所以如果smb幫助我,我會非常高興。:)忘了說我使用Raspbian Jezzy。

回答

4

首先,我希望你可以運行CMake 以外的你的來源,在一個單獨的目錄中。不這樣做真的不建議

要了解錯誤消息,你必須知道一點CMake的工作原理。

基本上,當你運行

cd /path/to/opencv 
mkdir build 
cd build 
cmake .. 

CMake的生成在build目錄(這是一個名爲CMakeCache.txt一個簡單的文件)的緩存。此文件包含像一些信息:

  • 到源/路徑的路徑/到/ OpenCV的
  • 到build目錄/路徑的路徑/到/ OpenCV的/建立
  • CMake的發生器中使用(忍,UNIX的Makefile ...)

如果你重新運行CMake和改變這些值中的一個,(通過重新運行使用不同的參數cmake的,設置的其他generotor或移動文件),CMake的將與抱怨這種消息。

一個很好的解決方案是刪除CMakeCache,甚至整個構建目錄以保證安全。

+0

正如你所說的孤子是刪除生成文件夾。感謝您的幫助:) – 3Qax

+1

刪除'../ CMakeCache.txt'解決了它! – tarabyte