如何在Windows上使用MinGW构建OpenCV 3.2.0

时间:2017-01-29 07:05:12

标签: windows opencv build cmake mingw

这篇文章包含了我(和其他用户)从源代码构建库时遇到的所有问题。由于没有教程,我决定创建这种FAQ帖子,将所有解决方案放在一起。希望它会有所帮助!

配置:
OpenCV 3.2.0
MinGW-w64 x86_64-6.1.0-win32-seh-rt_v5-rev0

欢迎您在答案中添加更多信息,因为将所有内容放在一个地方更方便。

1 个答案:

答案 0 :(得分:6)

  1. 将OpenCV下载并解压缩到您选择的文件夹中。
  2. opencv\sources现在包含CMakeLists.txt以及所有必需的其他文件。在CMake中配置项目。 CLion用户可能只需打开CMakeLists.txt

    • 修复1 sprintf ()家庭安全错误 将add_definitions(-DSTRSAFE_NO_DEPRECATE)添加到CMakeLists.txt的开头。这将为项目定义STRSAFE_NO_DEPRECATE符号并抑制错误。
    • 修复2 :'太多部分'as.exe错误 将以下行添加到CMakeLists.txtsource)的开头:

      set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} "-Wa,-mbig-obj")
      set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-Wa,-mbig-obj")
      
    • 修复3 :'最后一个参数必须是8位立即' 没有比硬编码0x88而不是mask_lo = _MM_SHUFFLE(2, 0, 2, 0)(二进制10 00 10 00)和0xDD而不是mask_hi更好的方法。 一旦my question得到更好的答案,我将更新此段落。
    • 修复4 :在MinGW中没有c ++ 11 thread 同样,一个肮脏的解决方案:在#include <mingw.*.h>之前将<mutex>添加到<thread><condition_variable>#endif // C++11。 (Source
  3. 构建它!大约需要30-40分钟。
  4. 找到输出文件夹。它仍然是一团糟,但包含Makefilecmdcd发送到输出文件夹,然后致电[path to compiler]\mingw32-make.exe install。 (Source
  5. Voila,您的图书馆位于install文件夹中!现在,您可以将其移动到所需的目的地并设置环境变量。