Qt5.9.1配置OpenCV3.4错误及解决办法(mingw32)

本文档详细记录了在使用mingw32编译OpenCV3.4.1时遇到的各种错误及解决方案,包括官方文档中的建议、错误提示如'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA'未声明、'IUnknown'非虚拟析构函数警告、编译过程中不同阶段的报错以及Python部分的错误。解决方法涉及修改源代码、取消预编译头文件选项,并针对mingw32的特点进行特定配置。
摘要由CSDN通过智能技术生成

在用cmake编译opencv3.4.1出现了不少错误,用的编译器是mingw,报过几种错误,现将其整理如下:

配置Qt与opencv可以参考官方文档: qt with opencv

1. 官方文档中提到的取消勾选ENABLE_PRECOMPILED_HEADERS和报错信息:

'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ,在 #include "DShow.h" 之前添加#define NO_DSHOW_STRSAFE;

2.网上提到的error: base class 'struct IUnknown' has accessible non-virtual destructor [-Werror=non-virtual-dtor]

到sources目录下搜索OpenCVCompilerOptions.cmake,将里面的add_extra_compiler_option(-Werror=non-virtual-dtor注释掉

如果你尝试了各种方法均无果,那么请直接从这开始:

在编译二进制文件的路径下进行mingw32-make报错,采用的解决办法是,直接下载opencv3.4的sources压缩包,之前都是下载opencv-3.4.0-vc14_vc15这种格式的可执行文件进行提取,vc编译器和mingw32还是有一定的差异的,尝试各种解决办法都是到42%,48%,72%报错失败,直接在cmake中填上sou

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
这个错误通常是由于Qt Creator无法找到正确的qmake路径导致的。解决这个问题的方法是确保你的Qt安装路径正确配置,并且Qt Creator能够找到qmake可执行文件。以下是一些可能的解决方法: 1. 检查Qt安装路径:打开Qt Creator,点击菜单栏的"工具",然后选择"选项"。在"构建与运行"选项卡下,找到"Kits"选项卡。选择你正在使用的套件(例如"Desktop Qt 5.9.1 MinGW 32bit"),确保"Qt版本"和"Qt mkspecs文件夹"字段正确指向你的Qt安装路径。 2. 检查qmake路径:在Qt Creator中,点击菜单栏的"工具",然后选择"选项"。在"构建与运行"选项卡下,找到"Kits"选项卡。选择你正在使用的套件(例如"Desktop Qt 5.9.1 MinGW 32bit"),确保"qmake路径"字段指向正确的qmake可执行文件路径。对于MinGW套件,一般是在Qt安装路径下的bin文件夹中可以找到。 3. 更新Qt Creator:如果你的Qt安装路径和qmake路径已经正确配置,但仍然遇到问题,尝试更新你的Qt Creator版本,可能有助于解决问题。 4. 重新生成项目:有时候重新生成项目也可以解决这个问题。在Qt Creator中,点击菜单栏的"构建",然后选择"清理项目"和"构建项目",然后再次尝试构建和部署项目。 如果你尝试了以上方法仍然无法解决问题,建议查看Qt Creator的错误输出窗口,看是否有更具体的错误信息。另外,你也可以在Qt论坛或社区寻求帮助,提供更多详细的信息和错误日志以便其他人能够更好地帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值