VS2010與Qt5.1.0集成(非源碼方式)
早就聽說qt可以集成到VS中,就是一直沒嚐試過。一直在使用qt creator,也沒覺得它有什麼不好。可最近VS用多了,我發現一個qt creator中很不好的毛病,就是代碼自動完成時,creator要程序員敲enter;而VS隻需按下空格鍵。可別小看這小小區別,對於習慣於五筆打字姿勢的我而言,按空格可真是方便多了。於是這會兒才想把qt集成到VS中,當作練習練習。
查了網上很多教程,發現很多人選擇用VS去編譯qt源碼,一個nmake下去就得要4,6個小時,最後還不一定成,中間還這麼多問題,我實在不太想這麼搞。於是去仔細查看官方下載軟件包,發現在win32平台上有兩種區分:mingw和msvc,且都是exe文件,名字差不多是:qt-windows-opensource-5.1.0-msvc2010-x86-offline.exe。這不就是與VS2010有關係的qt庫嘛,何不先用用它再說呢?當然,還得下一個插件:qt-vs-addin-1.2.2-opensource.exe,安了它之後,VS才會多出一個Qt5菜單;另外,為了能讓QT代碼在VS中自動完成,還需安裝VassistX,相信用過VS的應該都知道它吧。
下載地址:https://qt-project.org/downloads
下載安裝qt-windows-opensource-5.1.0-msvc2010-x86-offline.exe後,你會發現它幫你把新版本的qt creator等軟件都給安了;
下載安裝qt-vs-addin-1.2.2-opensource.exe,VS中的qt菜單如下圖:
在上圖的Qt Options中加入Qt5的庫路徑,也就是msvc2010的安裝路徑,我的是:D:\Qt5.1.0\5.1.0\msvc2010;
安裝VAssistX破解版後,在VAssistX菜單的option下添加qt5的頭文件路徑,以使能自動完成:
好。現在寫一個經典的helloworld:(由於新建項目時,沒有空項目模板,所以就選擇”控製台“模板,其實與空模板沒什麼兩樣)
#include <QtWidgets/QApplication> #include <QtWidgets/QLabel> int main(int argc, char *argv[]) { QApplication app(argc,argv); QLabel *lbl = new QLabel("<h2><font color=red>Qt5</font></h2>"); lbl->show(); return app.exec(); }
注意:我發現qt5與qt4的頭文件路徑有了不同,如果頭文件路徑寫錯,編譯器就會報“not found"的錯誤
打開項目--屬性對話框,要進行一些設置才能編譯鏈接成功:
(我的附加依賴項中,缺少Qt5Guid.lib和Qt5Widgetsd.lib)
最後運行得:
很遺憾,我以為qt代碼在VS中自動完成是按空格的,沒想到還是按enter,有點無語。。
總之,算是基本成了。我發現環境變量QTDIR應該是要設置的,好像VS已經幫我設置了;如果你的沒有,也許需要你自己設置了。
最後更新:2017-04-03 16:48:59