Qt之命令行编译(nmake)
簡(jiǎn)述
前兩節(jié)講解了如何在Visual Studio和Qt Creator中搭建Qt開發(fā)環(huán)境,并分享了我們第一個(gè)小程序-Hello World。
下面分享如何使用命令行來編譯Qt程序。當(dāng)然,MSVC和MinGW的配置和編譯過程相差無幾。
簡(jiǎn)述
新建
打開命令行
生成 pro
qmake
nmake
運(yùn)行
注意事項(xiàng)
新建
新建一個(gè)”HelloWorld.cpp”文件,編寫代碼:
#include <QApplication>
#include <QLabel>
int main(int argc,char **argv)
{
QApplication app(argc,argv);
QLabel label("Hello World!");
label.setAlignment(Qt::AlignCenter);
label.resize(400, 300);
label.show();
return app.exec();
}
保存到指定位置(示例位置為”E:HelloWorld”)。
打開命令行
選擇”Visual Studio Tools”,打開命令行。
生成 pro
切換到項(xiàng)目目錄下,執(zhí)行命令:
qmake -project QT+=widgets
切記后面加上指定的模塊”QT+=widgets”,這相當(dāng)于Visual Studio的Qt插件中Qt Project Settings里勾選了Qt modules的widgets模塊。
這時(shí),我們會(huì)發(fā)現(xiàn)項(xiàng)目目錄下會(huì)生成.pro項(xiàng)目文件。
可以使用Notepad打開查看里面的內(nèi)容。
######################################################################
# Automatically generated by qmake (3.0) ?? 11? 20 22:58:54 2015
######################################################################
QT+=widgets #項(xiàng)目依賴的模塊qmake -project QT+=widgets指定
TEMPLATE = app #app代表可執(zhí)行程序,及生成一個(gè).exe
TARGET = HelloWorld #可執(zhí)行程序的名稱HelloWorld.exe
INCLUDEPATH += . #包含路徑為當(dāng)前路徑
# Input
SOURCES += HelloWorld.cpp #項(xiàng)目包含的源文件
qmake
執(zhí)行:
qmake
這時(shí),項(xiàng)目目錄下會(huì)生成一個(gè)debug和一個(gè)release目錄、以及makefile文件。
nmake
執(zhí)行:
nmake Debug Release
編譯完成后,debug和release文件夾下面會(huì)生成了對(duì)應(yīng)的exe。
運(yùn)行
方式一:進(jìn)入debug或release目錄,直接雙擊exe。
方式二:命令行cd release,HelloWorld.exe
超級(jí)簡(jiǎn)單,有木有,O(∩_∩)O哈哈~。
注意事項(xiàng)
使用cmd命令行,提示:
‘nmake’不是內(nèi)部或外部命令,也不是可運(yùn)行的程序或批處理文件。
解決方式:
在環(huán)境變量中添加nmake的路徑(Path=D:Program FilesMicrosoft Visual Studio 12.0VCin)。
運(yùn)行cmd后,將”D:Program FilesMicrosoft Visual Studio 12.0VCvcvarsall.bat”拖拽進(jìn)去,然后回車,繼續(xù)運(yùn)行上述步驟。
雙擊運(yùn)行程序,提示:
無法啟動(dòng)此程序,因?yàn)橛?jì)算機(jī)中丟失Qt5Core.dll。嘗試重新安裝該程序以解決此問題。
解決方式:請(qǐng)參考: Qt環(huán)境搭建(Visual Studio) 一節(jié)中”添加環(huán)境變量”。
總結(jié)
以上是生活随笔為你收集整理的Qt之命令行编译(nmake)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ekrn.exe是什么
- 下一篇: word如何打带圈方框三角的数字或字母