windows下QT+opencv环境配置可能出现的问题

QT+opencv环境配置的编译阶段可能会出现各种错误,现在,我对自己遇到的错误做个小结

一:友情提示

1):

        cmake下载链接:Download | CMake

        OpenCV下载链接:https://opencv.org/releases.html

        Qt Creator下载链接:Index of /official_releases/qt

       下载镜像的文件目录:

目录说明:

 参考别人写的博客:

Qt 5 下载与安装详解 - 知乎

网上可参考的环境配置步骤:

        【Qt+OpenCV项目开发学习】一、环境配置_楚俊慕的博客-CSDN博客

        https://blog.csdn.net/weixin_43763292/article/details/112975207?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.base&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-2.base

        OpenCV+Qt+Win10开发环境配置_seuStones的博客-CSDN博客

2):

        组件中一定要选中MinGW版本的编译器,64位的windows系统可选64位的MinGW也可选32位的,32位的windows选32位的MinGW,,别忘了还有Developer and Designer Tools中也要选中与上面(即要与下图1中的红框中的位数选得一样才行)选的一致MinGW,,,,

3):

        cmake编译opencv完成后,即环境一切准备好,在创建QT工程后,需要去掉Shadow build的勾选,否则可能产生运行错误。

4):

        QT的工程项目中不能出现中文、QT工程的配置文件xxx.pro中的路径不能有空格,否则会报No such file or directory,如

        INCLUDEPATH += G:\install file\opencv3.4.2\opencv\build\include

则运行QT代码时会报错:error:G:\install:No such file or directory,因为路径的install file中有空格,,,,, 

5):

        QT工程的配置文件xxx.pro中的路径,如果最后是一个文件夹的话,在最末尾加上反斜杠"\",表示一个目录,如果不加反斜杠的话有些QT版本会出错,,如

        INCLUDEPATH += G:\installfile\opencv3.4.2\opencv\build\include

正确写法:INCLUDEPATH += G:\installfile\opencv3.4.2\opencv\build\include\

二、我当前的

        qt-opensource-windows-x86-5.12.11.exe

        opencv-3.4.2-vc14_vc15.exe

        cmake-3.21.0-rc3-windows-x86_64.msi

三、可能出现的错误形式

错误1:

        mingw32-make时,在编译到32%左右遇到如下错误 :
'sprintf_instead_use_StringCbPrintfA_or_StringCchPrintfA' was not declared in this scope ...

解决方案:
        在..\opencv\sources\modules\videoio\src\cap_dshow.cpp
        在#include "DShow.h"这一行前加上#define NO_DSHOW_STRSAFE

错误2:

        error: 'MFP_MEDIAITEM_CHARACTERISTICS' has not been declared

解决方案:

        cmake选项的WITH_IPP 和  WITH_MSMF去勾选,重新点configure和generate

错误3:

        libpython36.a: error adding symbols: File format not recognized

分析产生原因:
        Windows下Python发行版自带的链接库是为msvc编译的,并不是为gcc编译的,所以gcc无法识别,故需要重新编译python的库
解决方案:
        步骤:

1)安装gendef
        命令行执行mingw-get install gendef(可能需要连接国外网络)
2)安装Python
        已安装python的不必重新安装
3)备份原来python的链接库
        备份python目录/libs/下的文件,并删除里面的xxxx.a文件,原来的这个文件是msvc编译的
4)重新编译链接库
cmd命令行执行:
        cd python目录
        gendef python36.dll
        dlltool -D python36.dll -d python36.def -l libs/libpython36.a

5)cmake重新编译opencv,此时即可编译通过

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值