下載Qt
在Qt的官網上必須得登陸才能下載,這讓我倍感煩躁,於是百度下找到這個鏈接http://download.qt.io/archive/qt/進入無需登陸即可下載,還能選擇一些歷史版本,因為我裝了VS2015,所以我選擇支持MSVC2015編譯套件
的Qt:
上面兩個都要安裝,一個用來生成32位程序,另一個用來生成64位程序
從命令行編譯Qt程序
新建一個文本文件,將其后綴改成.cpp,然后將下面代碼寫入其中:
#include<QApplication> #include<QLabel> int main(int argc, char*argv[]) { QApplication app(argc,argv); QLabel * label = new QLabel("Hello Qt!"); label->show(); return app.exec(); }
在兩個版本的Qt安裝完成后,在開始菜單可以找到Qt提供的命令行工具:
一個32位的,用來生成32位的Qt程序;一個64位的,用來生成64位的Qt程序;這里我選擇32位的Qt命令行工具:
這里-o參數指明了生成工程文件的名稱,如果不使用-o參數指明,默認名稱為當前文件夾的名稱,執行qmake -project
后將生成一個后綴為.pro的工程文件,然后在執行qmake 工程文件名稱.pro 命令后就生成了Makefile文件,
安裝VS2015后也會有命令行工具:
因為我要生成的是32位程序,所以要使用生成32位程序的VS命令行工具來編譯源碼:
找不到文件,這是因為從Qt4到Qt5一些基礎類模塊發生了變化,Qt也給出了解決方案:
https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5
我們在工程文件中直接加入一行"QT+=widgets",或者在生成工程文件時在qmake命令后面加上這行也行:
然后在用VS的命令行工具執行nmake Debug Release同時編譯調試版和發布版程序:
注意:
-
不要在Qt的命令行中執行nmake命令,編譯時會有下面奇怪的錯誤:
-
不要使用生成64位程序的VS命令行工具去編譯32位Qt命令行生成的Makefile,否則鏈接時會報錯:
也不要用生成32位程序的VS命令行工具去編譯64位Qt命令行生成的Makefile,否則鏈接時會報:
模塊計算機類型“X64”與目標計算機類型“x86”沖突錯誤執行nmake命令后,release和debug文件夾中會有可執行文件:
雙擊即可運行如果運行時提示缺失Qtxxxxx.dll則需要把Qt安裝目錄下的bin文件夾路徑添加到系統環境變量PATH中即可
我這里安裝了32位和64位兩個版本的qt,如果程序運行時報:
一般32位程序加載64位的依賴庫,或者64位程序加載32位的依賴庫時會報錯;Qt的依賴庫在其安裝目錄下的bin
文件夾下,如果當前是32位程序報這個錯誤時,只需要把32位Qt安裝目錄下的bin文件夾路徑提最前面就行,
如果當前是64位程序報這個錯誤時,只需要把64位Qt安裝目錄下的bin文件夾路徑提最前面就可以;