Qt5选用msvc +Opencv库 win10环境搭建

本文详细介绍了在Win10系统下,如何选用msvc编译器和OpenCV库搭建Qt5环境,包括版本选择、环境变量配置、调试器设置和Qt项目配置等步骤,特别提到opencv_world300d.dll.lib的命名问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是一个小白,最近要将原来的mingw编译的项目换成msvc搭建的,然而环境搭建让我头皮发麻了好几天,走了不少弯路,今天记录一下。

顺带说一下,opencv解压下来的lib和bin是能直接让vc编译器用的,不需要再用cmake重编译,网上有些教程重编译opencv是为了得到相对应IDE所需要的opencv版本,而opencv 2.49一直到3.00的windows版解压后就有vc11 vc12的支持版本,无需自己编译,如果要支持更高的vc版本,就需要自己编译或者直接下载最新版opencv。windows的opencv,mingw版的确是需要自己用cmake编译。

1.版本选择

要选择相对应版本的,我选择的是32位的即X86,对应的就是下面

1.Visual Studio2013-x86

我用之前有的vs2013,其对应的编译器是vc12

2.Qt5-x86-msvc版本

可能要注册

https://www.qt.io/download-thank-you


安装时选择相对应的版本(我装的是Visual Studio2013-x86,所以选择的也是这个)



3.Opencv 官网选择windows pack 版本,下载完后解压。

解压后的路径内,有bulid文件夹,里面的x86/vc12就是我对应的版本。

我用的是opencv300,dll比较少添加时很方便。

可以自己将opencv目录下sources文件夹

                 opencv目录下bulid文件夹相应的x86/vc12目录下的lib与bin文件夹

提取出来,复制到自己想保存的地方方便使用。比我我的



2.环境变量

将QT5和opencv加入环境变量

操作就是右键 此电脑->属性->左侧 高级系统设置->高级->环境变量->新建

把下图中圈出来的加进去就好了,可以重启使得环境生效,也可以打开cmd输入path生效。最好是重启。


3.调试器

msvc调试器需要自己额外安装http://www.codemachine.com/downloads.html

选择系统对应的版本就行,32位系统选x86,64位选x64,安装完后Qt5里会自动识别到。

4.配置QT5


工具-》选项里设置相应的就行了。



接下来测试opencv能正常运行不  这是一篇有代码的文章,我用的是自己的工程文件,没有的可以用下方的代码测试

https://blog.youkuaiyun.com/zyx1990412/article/details/50855505

配置QT 项目pro文件

在pro里加入下面 两块代码,记得把路径改成自己的,\ 反斜杠改成  

INCLUDEPATH += E:/opencv/cv300_vc12build/include \
               E:/opencv/cv300_vc12build/include/opencv \
               E:/opencv/cv300_vc12build/include/opencv2

CONFIG(debug, debug|release): {
LIBS += -LE:/opencv/cv300_vc12build/lib \
        -LE:/opencv/cv300_vc12build/bin \
        -lopencv_world300d.dll
}else:CONFIG(release, debug|release): {
LIBS += -LE:/opencv/cv300_vc12build/lib \
        -LE:/opencv/cv300_vc12build/bin \
        -lopencv_world300.dll \
        -lopencv_world300d.dll

}

然后执行qmake,记得改一次pro就要执行一次,否则他会跳过qmake过程你改了也不生效。


接着左下角运行程序


一切顺利的话就没有问题了,正常运行。

然而我的报错了

error: lnk1104: 无法打开文件“opencv_world300d.dll.lib”

在这一步我又重搭建环境甚至去用cmkae重编译vc版本opencv等等弯路,最后还是回到这步

检查一下前面步骤有没有问题,再分析一下这个错误

其实opencv lib库里 根本没有这个opencv_world300d.dll.lib,只有opencv_world300d.lib,为何报错我也不懂,但是把这个opencv_world300d.lib重命名成报错提示对应的opencv_world300d.dll.lib,再执行程序,竟然可以了哭。。。之后我又把名字改回来,也没有之前的报错,真的是玄学~~~,但是已经解决了那总是好的,折腾本小白够久的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值