1. opencv + vs2019 + qt 配置
为了避免各种版本的不匹配问题,这里用了vs2019 + qt 5.15.2 + opencv 4.5.4
vs+qt配置
在网上找到了好多方法,例如vsaddin之类,但我是在vision studio编译器直接搜索了扩展
→
\rightarrow
→ 管理扩展
→
\rightarrow
→ 搜索“qt” 然后添加第一个工具,就会有QT Vs tools,添加的方法应该按照最新版本的version里面添加
在这里插入图片描述
然后点击Qt version,在path那里添加如图所示的路径中的cmake文件
然后新建一个qt empty项目,在项目
→
\rightarrow
→ 属性
→
\rightarrow
→ Qt Project settings
→
\rightarrow
→ Qt Modules 里面添加gui, core和widgets部件即可,然后配置opencv。
vs+opencv配置的一些问题
跟着这篇blog走下来会遇到两个问题:
- 首先一直在显示
无法打开“opencv2/opencv.hpp”
,后来看了博客发现应该把此处的x86改成x64(因为在配置属性的过程种一直使用的是x64) - 之后运行测试代码报错
LNK2019 无法解析的外部符号 "void __cdecl cv::imshow(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class cv::debug_build_guard::_InputArray const &)" (? imshow@cv@@YAXAEBV ? $basic_string@DU ? $char_traits@D@std@@V ? $allocator@D@2@@std@@AEBV_InputArray@debug_build_guard@1@@Z),函数 main 中引用了该符号
,后来发现应该是属性 → \rightarrow →连接器 → \rightarrow →输入 → \rightarrow →附加依赖项 这里如果是debug应该是带d的,而release应该是不带d的。
然后发现imread一直是empty(),是库关联的问题,debug只能用带d的lib文件(参考博客),删除不带有d的lib文件,可以正常运行。
2.使用qt绘制界面
1.新建好的ui文件闪退
参考此大佬的方案, 在Qt version general中将Qt Designer那里改为True即可
之后报错:
This application failed to start because it could not find or load the Qt platform plugin "windows
解决方案