无法在Windows上构建OpenCV 3.1(使用MinGW)

时间:2016-12-11 21:53:39

标签: opencv build

我需要从源代码构建OpenCV,因为我想对它进行修改。所以使用预先构建的二进制文件对我来说不是一个选择。我是在Windows 8上这样做的。我没有MS Visual Studio,我也不想使用它。

以下是重现构建错误的方法:

  1. 我git clone https://github.com/opencv/opencv
  2. 我使用CMake 3.7.1,按Configure,然后按Generate。它似乎工作(没有错误)。我将输出文件夹命名为opencv / release。
  3. 我转到opencv / release文件夹,输入mingw32-make。
  4. 最终,在编译一段时间后,它会显示以下错误消息:

    Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/parallel.cpp.obj
    modules\core\src\parallel.cpp:135:43: error: operator '&&' has no right operand
    modules\core\src\parallel.cpp: In function 'void cv::parallel_for_(const cv::Range&, const cv::ParallelLoopBody&, double)':
    modules\core\src\parallel.cpp:311:52: error: 'parallel_for_pthreads' was not declared in this scope parallel_for_pthreads(range, body, nstripes);
                                                    ^
    modules\core\src\parallel.cpp: In function 'int cv::getNumThreads()':
    modules\core\src\parallel.cpp:370:50: error: 'parallel_pthreads_get_threads_num' was not declared in this scope return parallel_pthreads_get_threads_num();
                                                  ^
    modules\core\src\parallel.cpp: In function 'void cv::setNumThreads(int)':
    modules\core\src\parallel.cpp:431:46: error: 'parallel_pthreads_set_threads_num' was not declared in this scope parallel_pthreads_set_threads_num(threads);
                                              ^
    modules\core\CMakeFiles\opencv_core.dir\build.make:990: recipe for target 'modules/core/CMakeFiles/opencv_core.dir/src/parallel.cpp.obj' failed mingw32-make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/src/parallel.cpp.obj] Error 1
    

    注意:我尝试使用和不使用TPP(在CMake配置中)编译,我收到相同的错误消息。

    另外,我在StackOverflow上阅读了其他类似的问题,答案也无济于事。

0 个答案:

没有答案
相关问题