【问题标题】:How to build OpenCV 3.2.0 with MinGW on Windows [closed]如何在 Windows 上使用 MinGW 构建 OpenCV 3.2.0 [关闭]
【发布时间】:2017-01-29 07:05:12
【问题描述】:

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

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

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

【问题讨论】:

  • 哇太棒了!!你知道如何在 Python for Windows 环境中使用 dlib 和 OpenCV 吗?
  • 这对于 StackOver 文档来说可能很好,但它不是一个有效的问题。
  • @usr1234567 这是一个问答问题。我认为错误 3 和 4 需要一些更好的解决方案才能成为文档
  • @JeruLuke,不幸的是,我没有
  • @JeruLuke,据我所知,这个问题将被关闭,而不是删除。一旦它提供的解决方案足够好,我可能会将其移至文档中。文档用于文档 :)

标签: windows opencv build cmake mingw


【解决方案1】:
  1. 下载 OpenCV 并将其解压到您选择的文件夹中。
  2. opencv\sources 现在包含CMakeLists.txt 和所有其他必要的文件。在 CMake 中配置项目。 CLion 用户可以直接打开CMakeLists.txt

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

【讨论】:

猜你喜欢
  • 2012-03-11
  • 1970-01-01
  • 1970-01-01
  • 2020-08-25
  • 2019-07-07
  • 2013-06-13
  • 2012-01-30
  • 1970-01-01
  • 2011-06-04
相关资源
最近更新 更多