构建OpenCV时出现CMake错误 - CMakeLists不匹配

3Qa*_*Qax 5 c++ opencv cmake raspberry-pi opencv3.0

我试图在我的Raspberry Pi 2B上构建OpenCV 3.1.0.不幸的是,当我尝试:

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错误:源"/home/pi/Downloads/opencv-3.1.0/CMakeLists.txt"与用于"/home/pi/Downloads/opencv-3.1.0/modules/CMakeLists.txt"的源不匹配生成缓存.使用不同的源目录重新运行cmake.

我想将OpenCV与C++和Code :: Bocks一起使用,我已经安装了它.我在互联网上找不到任何解决方案,所以如果smb帮助我,我会很高兴.:)忘了说我使用Raspbian Jezzy.

Dim*_*sky 11

首先,我希望你在一个单独的目录中运行CMake 以外的源代码.不这样做真的不推荐

要了解错误消息,您必须了解CMake的工作原理.

基本上,当你跑步

cd /path/to/opencv
mkdir build
cd build
cmake ..
Run Code Online (Sandbox Code Playgroud)

CMake在build dir中生成一个缓存(它是一个名为的简单文件CMakeCache.txt).此文件包含一些信息,如:

  • sources/path/to/opencv的路径
  • build dir/path/to/opencv/build的路径
  • 使用的CMake Generator(Ninja,Unix Makefiles ......)

如果您重新运行CMake并更改其中一个值(通过使用不同的参数重新运行cmake,设置其他generotor或移动文件),CMake将会抱怨此类消息.

一个好的解决方案是删除CMakeCache,甚至整个构建目录是安全的.

  • 正如您所说,解决方法是删除构建文件夹。感谢帮助 :) (2认同)
  • 删除`../ CMakeCache.txt`解决了它! (2认同)
  • 我在 Windows 中使用 CMake gui。除了删除构建目录之外,我还(或仅?)需要在 GUI 中激活“文件 > 删除缓存”。 (2认同)