使用cmake构建Opencv,给出涉及c ++ 11的错误

时间:2017-12-07 22:23:03

标签: python opencv c++11 ubuntu cmake

在Ubuntu 16.04上编译opencv时,我遇到了cmake命令的问题。当我执行cmake命令时,我收到错误

CMakeLists.txt上的

CMake错误:11(消息): 致命:不允许使用源内构建。 您应该为构建文件创建一个单独的目录。

我已将opencv源文件解压缩到名为opencv-3.3.1的文件夹中 然后我按照本网站提到的所有流程

https://www.pyimagesearch.com/2016/10/24/ubuntu-16-04-how-to-install-opencv/

我使用以下命令:: cd opencv-3.3.1/ mkdir build/ cd build/ cmake -D CMA KE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D INSTALL_PYTHON_EXAMPLES=ON -D INSTALL_C_EXAMPLES=OFF -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.3.1/modules -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python -D BUILD_EXAMPLES=ON ..

但是我收到了这个错误!

可能出现什么问题?

CMakeError.log显示

错误"不支持C ++ 11

我尝试将set(CMAKE_CXX_FLAGS "-std=c++11")添加到CMakeLists.txt的开头,并在-DENABLE_CXX11=ON命令标志中包含标志CMAKE。但似乎没有任何效果。

请帮助!!

2 个答案:

答案 0 :(得分:3)

也许在OpenCV根目录$ mysql -h "server-name" -u "root" "-pXXXXXXXX" "database-name" < "filename.sql"中有一个名为CMakeCache.txt的文件。

删除它!

那是因为有人在之前在根目录opencv-3.3.1内执行了cmake .

答案 1 :(得分:0)

尝试添加:

add_definitions(-std=c++11)

到您的cmakelists文件。