使用Contrib和C ++ 11支持编译OpenCV?

时间:2017-07-11 18:00:58

标签: c++ opencv c++11 ubuntu cmake

我想在ubuntu 16.04上从源代码编译opencv。 我之前已成功做过几次。 我在pyimagesearch中关注这个tutorial。 通常情况下这很好用,但这次我得到了contrib模块文本的以下错误。

  

[27%]在文件中生成precomp.hpp.gch / opencv_text_RELEASE.gch

     

包含在/ usr / include / c ++ / 5 / cinttypes:35:0,

     

来自/usr/local/include/tesseract/host.h:30,   来自/usr/local/include/tesseract/serialis.h:26,   来自/usr/local/include/tesseract/baseapi.h:37,   来自/home/rvq/github/opencv-3.2.0/build/modules/text/precomp.hpp:51:

     

/ usr / include / c ++ / 5 / bits / c ++ 0x_warning.h:32:2:错误:#error此文件   需要编译器和库支持ISO C ++ 2011标准。   必须使用-std = c ++ 11或-std = gnu ++ 11启用此支持   编译器选项。 #error此文件需要编译器和库   支持\ ^

     

[27%]建立目标pch_Generate_opencv_saliency

有人知道如何解决这个问题吗?

1 个答案:

答案 0 :(得分:5)

-D ENABLE_PRECOMPILED_HEADERS=OFF \添加到CMake命令解决了该问题。

完成CMake命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE \
    -D CMAKE_INSTALL_PREFIX=/usr/local \
    -D INSTALL_PYTHON_EXAMPLES=ON \
    -D INSTALL_C_EXAMPLES=OFF \
    -D OPENCV_EXTRA_MODULES_PATH=~/github/opencv_contrib-3.2.0/modules \
    -D PYTHON_EXECUTABLE=~/.virtualenvs/cv/bin/python \
    -D ENABLE_PRECOMPILED_HEADERS=OFF \
    -D BUILD_EXAMPLES=ON ..