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

标签 windows opencv build cmake mingw

<分区>

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

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

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

最佳答案

  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.txt 的开头( source ):

      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:没有 c++11 thread MinGW 中的 s。
      同样,一个肮脏的解决方案:添加了 #include <mingw.*.h><mutex> , <thread> , <condition_variable>之前 #endif // C++11 . ( Source )
  3. build 它!大约需要 30-40 分钟。
  4. 找到输出文件夹。它仍然是一团糟,但包含一个 Makefile .
    发射 cmd , cd到输出文件夹并调用 [path to compiler]\mingw32-make.exe install . ( Source )
  5. 瞧,你的图书馆在install文件夹!现在您可以将其移动到所需的目的地并设置环境变量。

关于windows - 如何在 Windows 上使用 MinGW 构建 OpenCV 3.2.0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41918477/

相关文章:

c++ - 访问另一个程序的值

java - 如何使用 java (System.out.println) 结果设置批处理变量

c++ - 如何将NSData转换成OpenCV的图像(Mat)

c++ - 使用opencv从图像中删除水平 strip

python - 如何从Zoo获得Tensorflow模型的类名

c++ - 如何知道附加的windowstation是否是交互式的?

python - 在 Windows 上安装新版本(升级)

android - 运行 React Native 应用程序时出错

c++ - 分析编译时间

android - 如何构建调试 android apk,使 BuildConfig.DEBUG 为真?