我在mingw为c ++编译opencv时遇到错误?

时间:2019-04-02 18:55:43

标签: c++ opencv

好的,我正在尝试为人类检测程序设置环境。我将使用的编程语言是c ++,编译器是代码块。 我已经下载了opencv 4.1 还下载了CMake 和明格 我还在环境设置中添加了路径。 我在c:\ opencv \ sources文件夹中提取了opencv 并通过使用cmake我已经在c:\ opencv \ build

中配置并生成了构建文件

在此之后,我打开C:\ opencv \ source \ opencv \ build这个文件夹并右键单击它,然后打开powershell并键入mingw32-make commnd。

,以便Mingw将开始编译OpenCV 但是弹出5%错误后...

PS C:\opencv\source\opencv\build> mingw32-make

[2%]建立目标zlib [2%]构建C对象3rdparty / libjpeg-turbo / CMakeFiles / libjpeg-turbo.dir / src / jmemmgr.c.obj C:\ opencv \ source \ opencv \ sources \ 3rdparty \ libjpeg-turbo \ src \ jmemmgr.c:在函数'realize_virt_arrays'中: C:\ opencv \ source \ opencv \ sources \ 3rdparty \ libjpeg-turbo \ src \ jmemmgr.c:662:11:错误:未声明'SIZE_MAX'(此功能首次使用)        如果(SIZE_MAX-最大空间<新空间)            ^ ~~~~~~~~ C:\ opencv \ source \ opencv \ sources \ 3rdparty \ libjpeg-turbo \ src \ jmemmgr.c:662:11:注意:每个未声明的标识符对于出现在每个函数中仅报告一次 3rdparty \ libjpeg-turbo \ CMakeFiles \ libjpeg-turbo.dir \ build.make:678:目标'3rdparty / libjpeg-turbo / CMakeFiles / libjpeg-turbo.dir / src / jmemmgr.c.obj'的配方失败 mingw32-make [2]: * [3rdparty / libjpeg-turbo / CMakeFiles / libjpeg-turbo.dir / src / jmemmgr.c.obj]错误1 CMakeFiles \ Makefile2:312:目标'3rdparty / libjpeg-turbo / CMakeFiles / libjpeg-turbo.dir / all'的配方失败 mingw32-make [1]:* [3rdparty / libjpeg-turbo / CMakeFiles / libjpeg-turbo.dir / all]错误2 Makefile:161:目标“全部”的配方失败 mingw32-make:*** [全部]错误2

1 个答案:

答案 0 :(得分:0)

实际上,可以通过mingw32编译opencv 3.4.3(我已为实例使用5.3.0)。请遵循本指南。它有点旧,但即使在opencv 3.4.3中也可以使用 建立步骤:

  1. 从官方github仓库下载最新的Opencv版本(假设您已经将opencv下载到磁盘上的“ opencv”目录中)
  2. 转到opencv / modules / videoio / src,打开cap_dshow.hpp,粘贴#define NO_DSHOW_STRSAFE(在所有其他文件的顶部),保存文件以提交更改
  3. 安装CMake(我使用过3.5.1)
  4. 打开CMake,指向Opencv3.4.3源位置也指向您要在其上构建它们的位置(假设该实例在磁盘上的“ build”目录中),按“配置按钮”
  5. 从对话框“ Mingw Makefiles”中选择,等待的实用资源将被预处理
  6. 所有选项均为红色是正常的,请在CMake窗口的右上方区域选中“分组”,现在我们应该检查一些标志:

    在CMAKE组中:对于选项CMAKE_BUILD_TYPE,请写Release(以生成opencv的发行版本),也可以在此处指定要在构建后将Opencv二进制文件安装的位置

    在ENABLE组中:选中ENABLE_CXX11并取消选中ENABLE_PRECOMPILED_HEADERS

    与WITH一起的组:取消选中WITH_MSMF

  7. 按下“配置”按钮,直到处理完成,现在所有选项都将变为白色

  8. 按下“生成”按钮并等待(应在您的构建目录中创建Makefile,此步骤后您可以关闭CMake)

  9. 确保您的mingw工具链位置对于您的系统是已知的(查看系统环境变量PATH是否包含mingw工具链的路径)

  10. 打开cmd.exe,将目录更改为opencv的构建idrectory

  11. 让我们构建opencv(-j [uint]-选项指定要使用的线程数)

    ... / build> mingw32-make -j4

  12. 让我们安装opencv

    ... / build> mingw32-make install

  13. 完成