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即可解決問題。