Qt 之命令列編譯(nmake)
簡述
前兩節講解了如何在 Visual Studio 和 Qt Creator 中搭建 Qt 開發環境,並分享了我們第一個小程式 - Hello World。
下面分享如何使用命令列來編譯 Qt 程式。當然,MSVC 和 MinGW 的配置和編譯過程相差無幾。
|
新建
新建一個“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
切換到專案目錄下,執行命令:
qmake -project QT+=widgets
之所以要加 widgets 模組,是因為我們用到了 QApplication 和 QLabel,而這兩個類是屬於該模組的。
這時,在專案目錄下會生成 .pro 專案檔案:
使用 Notepad 開啟,檢視裡面的內容:
######################################################################
# Automatically generated by qmake (3.0) ?? 11? 20 22:58:54 2015
######################################################################
QT+=widgets #專案依賴的模組qmake -project QT+=widgets指定
TEMPLATE = app #app代表可執行程式,及生成一個.exe
TARGET = HelloWorld #可執行程式的名稱HelloWorld.exe
INCLUDEPATH += . #包含路徑為當前路徑
# Input
SOURCES += HelloWorld.cpp #專案包含的原始檔
qmake
執行:
qmake
這時,專案目錄下會分別生成一個 debug 和 release 目錄、以及 makefile 相關的檔案。
nmake
執行:
nmake Debug Release
編譯完成後,在 debug 和 release 資料夾下會生成應用程式。
執行
方式一:進入 debug 或 release 目錄,直接雙擊 exe。
方式二:命令列 cd release,HelloWorld.exe
超級簡單,有木有 O(∩_∩)O~。
注意事項
使用 cmd 命令列,提示:
‘nmake’不是內部或外部命令,也不是可執行的程式或批處理檔案。
解決方式:
在環境變數 PATH 中新增 nmake 的路徑(D:\Program Files\Microsoft Visual Studio 12.0\VC\bin)。
執行 cmd 後,將“D:\Program Files\Microsoft Visual Studio 12.0\VC\vcvarsall.bat”拖拽進去,然後回車,繼續執行上述步驟。
雙擊執行程式,提示:
無法啟動此程式,因為計算機中丟失 Qt5Core.dll。嘗試重新安裝該程式以解決此問題。
相關推薦
Qt 之命令列編譯(nmake)
簡述 前兩節講解了如何在 Visual Studio 和 Qt Creator 中搭建 Qt 開發環境,並分享了我們第一個小程式 - Hello World。 下面分享如何使用命令列來編譯 Qt 程式。當然,MSVC 和 MinGW 的配置和編譯過程相差無幾
CCF之命令列選項(java)
試題編號: 201403-3 試題名稱: 命令列選項 時間限制: 1.0s 記憶體限制: 256.0MB 問題描述: 問題描述 請你寫一個命令列分析程式,用以分析給定的命令列裡包含哪些選項。每個命令列由若干個字串組成,它們之間恰好由一個空格分隔。這些
【golang-GUI開發】qt之signal和slot(一)
類型 取消 htm return 所在 turn hang nbsp type 想了很久,我決定還是先從signal和slot(信號槽)開始講起。 signal和slot大家一定不陌生,先看一段示例(選自文檔): 1 class Counter : public QOb
pytest 常用命令列選項(二)
本文接上篇繼續簡介pytest常用的命令列選項。 8、-v(--verbose) 選項 使用-v/--verbose選項,輸出的資訊會更詳細。最明顯的區別就是每個檔案中的每個測試用例都佔一行,測試的名字和結果都會顯示出來,而不僅僅是一個點或字元。如下圖:
《自己動手寫java虛擬機器》學習筆記(二)-----命令列工具(java)
專案地址:https://github.com/gongxianshengjiadexiaohuihui 首先是Cmd的類 /** * @ClassName Cmd * @Description TODO * @Author Mr.G * @Date 2018/10/9 9:40
《自己動手寫java虛擬機器》學習筆記(一)-----命令列工具(go)
專案地址:https://github.com/gongxianshengjiadexiaohuihui 在今年三月份的時候,看過這本書,但是可能知識儲備不足,許多東西都一知半解,導致看到一半就看不下去了,現在覺得自己進步挺大的,決定重新拾起這本書,並且把
mysql 命令列操作(一)管理操作
1.查詢所有存在的資料庫 mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysq
mysql 命令列操作(四)高階sql語句
1.union,連線兩個以上的select語句的結果組合到一個結果集中,多個select語句中相同的資料會被刪除,多個union的select語句必須列數相同,比如第一個select選擇兩個列,那麼後續所有union的select語句都必須是兩列,不要求列的屬性一致,可以用u
mysql 命令列處理(六)事務
mysql中,事務是一些資料庫操作語句,有3個特點: 1.只有使用了InnoD引擎的資料庫或者表支援事務 2.事務可以用來維護資料庫完整性,保證成批的sql語句要麼全執行,要麼全不執行,不會出現部分執行失敗導致不一致的情況 3.事務用來管理insert,update,d
Windows CMD命令列大全(轉)
命令簡介 cmd是command的縮寫.即命令列 。 雖然隨著計算機產業的發展,Windows 作業系統的應用越來越廣泛,DOS 面臨著被淘汰的命運,但是因為它執行安全、穩定,有的使用者還在使用,所以一般Windows 的各種版本都與其相容,使用者可以在Windo
java 命令列匯入(引用)jar包
編譯: E:/>javac -cp e:/jdom.jar test1.java 執行: E:/>java -classpath e:/jdom.jar; test1
db2命令列整理(二)
<pre code_snippet_id="276051" snippet_file_name="blog_20140407_7_6289192" name="code" class="html"> ----- 1:將excel中的資料匯入到資料庫中 先
python測試用例覆蓋率工具coverage教程(命令列工具)(譯)
歡迎大家光臨我的部落格 簡介 coverage是一個檢測單元測試覆蓋率的工具,即檢查你的測試用例是否覆蓋到了所有的程式碼。 coverage命令列工具 當你通過pip install coverage成功安裝完coverage後,就會在pytho
Linux常用命令列彙總(2)
15、使用gnome-screenshot實現螢幕截圖 使用gnome-screenshot實現延時10秒螢幕截圖。輸入下面命令,然後開啟Applications/Accessories/Text Editor 方法:gnome-screenshot -d 10 16、使用
【Qt】Qt之自定義介面(QMessageBox)【轉】
簡述 通過前幾節的自定義窗體的學習,我們可以很容易的寫出一套屬於自己風格的介面框架,通用於各種窗體,比如:QWidget、QDialog、QMainWindow。 大多數窗體的實現都是採用控制元件堆積來完成的,只要思路清晰,再複雜的介面實現起來都遊刃有餘。下面我來列舉一個由QMessageBox擴充套
【Qt】Qt之程序間通訊(QProcess)【轉】
簡述 前幾節裡,分享了程序通訊的幾種方式:Windows訊息機制、Shared Memory(共享記憶體),本節講解下關於程序通訊的另外一種方式-QProcess。 簡述 命令列讀取 說明 實現 更多參考 命令列引數啟動 說明 程序A-帶參啟動
【Qt】Qt之程序間通訊(IPC)【轉】
簡述 程序間通訊,就是在不同程序之間傳播或交換資訊。那麼不同程序之間存在著什麼雙方都可以訪問的介質呢?程序的使用者空間是互相獨立的,一般而言是不能互相訪問的,唯一的例外是共享記憶體區。但是,系統空間卻是“公共場所”,所以核心顯然可以提供這樣的條件。除此以外,那就是雙方都可以訪問的外設了。在這個意義上,兩
AWS 命令列介面(CLI)_管理AWS服務的統一工具
Amazon Web Services 誠聘精英。 Amazon Web Services (AWS) 是 Amazon.com 的一個充滿活力、不斷壯大的業務部門。我們現誠聘軟體開發工程師、產品經理、客戶經理、解決方案架構師、支援工程師、系統工程師以及設計師等人才。請訪問我
Apache Kafka系列(二) 命令列工具(CLI)
Apache Kafka命令列工具(Command Line Interface,CLI),下文簡稱CLI。 1. 啟動Kafka 啟動Kafka需要兩步: 1.1. 啟動ZooKeeper [[email protected] kafka_2.12-0.11.0.0]# bin/zo