PS:本次是把VS2010+QT+OpenCV的项目,转成VS2017的。
项目是别人写的,他也没有对应的QT版本了,所以只能升级。中间遇到了不少坑,在此记录几个关键的。
1、严重性 代码 说明 项目 文件 行 禁止显示状态
错误
C1083 无法打开包括文件: “QApplication”:
No such file or directory ImageDeblurGui f:\workspace\datasource\mrhuang\imagedeblurgui\main.cpp 1
解决方案:
点击QT VS Tools -->open QT project file(.pro)...,打开项目中之前配置的.pro文件(如果没有,创建一个)
2、严重性 代码 说明 项目 文件 行 禁止显示状态
错误(活动) E1696 无法打开 源 文件 "cv.h" ImageDeblurGui D:\work\ImageDeblurGui\fftw_opencv.h 6
解决方案:
因为装的是410版本的opencv,包含目录中只有opencv2这个文件夹,里面没有cv.h。后来把2.1.10的OpenCV也包含进“C++包含目录”,问题解决。
3、严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C2027 使用了未定义类型“QScrollArea” ImageDeblurGui d:\work\imagedeblurgui\imageviewer.cpp 16
出现了多个上述Q开头的控件不识别的问题。
解决方案:
#include QtWidgets下的具体类名,例如:#include "qlabel.h"
4、严重性 代码 说明 项目 文件 行 禁止显示状态
错误 LNK1104 无法打开文件“C:\Qt\Qt5.12.0\5.12.0\msvc2017_64\lib\QtGuid4.lib” ImageDeblurGui D:\work\ImageDeblurGui\LINK 1
解决方案:
如出现该问题,将属性->连接器->输入->附加依赖项中的QtCored4.lib和QtGuid4.lib改为Qt5Cored.lib和Qt5Guid.lib即可解决问题。