Qt 添加MSVC2017編譯器的完整教程(保姆級)
0. 前言
只要是Qt
使用者,基本都遇到過安裝MSVC
編譯器的問題。
這個問題似乎有很方便的解決辦法:安裝對應(yīng)版本的Visual Studio
就好了。
但大家都知道VS
的體量,如果把想用的編譯器對應(yīng)的完整的VS
全安裝一遍,即使想想就足夠可怕了。
本文在踩了各種坑之后,總算搞出來一條簡單實(shí)用的道路來。下面直奔主題~
1. 前期準(zhǔn)備
要想在Qt
中使用MSVC
編譯器,除了涉及到Qt
和MSVC
編譯器之外,最好還了解一下Qt Kits
和Windows 10 SDK
:
Qt Kits
是Qt Creator
中,用來連接各種編譯器(minGW
、MSVC
等)的套件,類似于一個轉(zhuǎn)接器;如果只有MSVC
編譯器而沒有對應(yīng)套件,則也無法使用該編譯器;可以在菜單–>工具–>選項(xiàng)–>Kits中查看安裝的套件。
Windows 10 SDK
在此處可理解為MSVC
編譯器需要使用到的一些頭文件、運(yùn)行庫等;
另外,Qt Creator
的版本最好要高一些,一方面是過低的版本可能沒有對應(yīng)MSVC編譯器的套件,另一方面是過低的版本添加MSVC編譯器時不夠智能。
后一條來源于筆者觀察安裝了完整VS時識別到的編譯器中,MSVC
編譯器的詳情如下(圖中為MSVC2015
):
Qt Creator中查看編譯器:菜單–>工具–>選項(xiàng)–>Kits(老版本可能是在 構(gòu)建和運(yùn)行 中)–>編譯器。
它顯然只是查找了一個叫vcvarsall.bat的腳本文件,然后就添加好了編譯器。
而這個添加編譯器的接口,在高版本的Qt Creator中才有,如下圖為Qt Creator 5.0.2
。
而在低版本中沒有添加MSVC
編譯器的選項(xiàng),如下圖為Qt Creator 4.3.1
:
到此基本前期了解的內(nèi)容就差不多了,以下是準(zhǔn)備的工具清單:
Qt 5.12.12
:可以在此處下載:USTC源下載Qt 5.12.12;
不一定非要這個版本,但最好版本高一些,一定要有添加
MSVC
編譯器的接口!
MSVC
編譯器和Windows 10 SDK
安裝工具2022版:可在此處下載:Visual Studio 2022 生成工具;
下載得到
vs_BuildTools.exe
,打開后將自動安裝Visual Studio Installer
,在這個Installer
中能夠安裝MSVC
編譯器和Windows 10 SDK
;
Everything
和Wox
:配置過程中會需要定位vcvarsall.bat
文件,這倆兩個工具將極大地提高效率,墻裂推薦!下載地址:Github Wox下載;
2. 安裝
2.1 安裝Qt
雙擊剛才下載的Qt
安裝文件,基本操作不多講,在Select Components
頁面,把自己要用的套件勾選上即可:
從圖中可看到,
Qt 5.12.12
只支持到MSVC 2017
。
2.2 安裝MSVC編譯器和Windows 10 SDK
打開Visual Studio Installer
,如果已經(jīng)安裝過內(nèi)容了可能是如下頁面,點(diǎn)擊修改(頭一回打開的話不需要這一步):
然后在工作負(fù)荷中勾選使用C++的桌面開發(fā),它會幫我們勾選好一些組件,以及一個Windows 10 SDK
:
此處可以取消前面5個自動勾選的組件,選擇下方的SDK。感興趣的朋友可以自行查看每個組件的作用;
在單個組件中勾選自己要安裝的編譯器,此處筆者安裝了MSVC2015、MSVC2017、MSVC2019
:
3. 配置
3.1 添加MSVC編譯器并選擇bat文件
打開Qt Creator
,在菜單欄依次選擇:工具–>選項(xiàng)–>Kits–>編譯器,有相當(dāng)多的教程,安裝完前面的內(nèi)容之后,此處就能檢測到自己安裝的編譯器了(太令人羨慕了)。但筆者從沒成功過,只能找到安裝了完整VS的編譯器:
在右側(cè)選擇添加–>MSVC–>C++,
如果安裝了Wox
和Everything
,此刻可以Alt+space
輸入vcvarsall.bat
,可以找到它所在的路徑:
第一個是筆者電腦上安裝了完整
VS2015
得到的bat
文件;
默認(rèn)文件位置供參考:C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat
此處筆者想添加MSVC2017
的64
位編譯器,按照下圖填寫:
3.2 傳入腳本文件參數(shù)
這里其實(shí)會有朋友發(fā)現(xiàn)一個問題:無論平臺和ABI
怎么選,對應(yīng)的初始化文件都是同一個,選這倆就沒有意義了!
這里就要注意到平臺后面的輸入框了,我們知道bat
是批處理文件(如果不知道那就百度一下??),是有傳入?yún)?shù)的功能的,我們打開這個vcvarsall.bat
,看看其中有沒有什么提示,翻一翻就找到了示例:
也可以在微軟官方文檔查找到傳參的格式。
這里可以指定Windwos 10 SDK
和MSVC
編譯器的版本,如果不清楚版本號,可以在Visual Studio Installer
中查看,如下圖:
筆者安裝的SDK
版本是10.0.20348
,MSVC2017
版本是14.16
,那按照bat
文件傳參的示例,此處需要的MSVC 2017 64bit
的格式就是:
x64 10.0.20348.0 -vcvars_ver=14.16
填好后點(diǎn)擊Apply
,然后切換到Kits
,將MSVC 2017
套件選擇好剛才的編譯器,點(diǎn)擊OK
:
4. 測試
新建一個界面工程:
選擇剛才的Kits
:
Ctrl+R
運(yùn)行:
5. 總結(jié)
- 要想在
Qt
中使用MSVC
編譯器,需要帶有對應(yīng)MSVC
編譯器版本套件(Kit
)的Qt Creator
、MSVC
編譯器、Windows 10 SDK
; - 套件像一個轉(zhuǎn)接頭,將
MSVC
編譯器集成到Qt Creator
中; Qt Creator
版本要足夠高,否則要是沒有對應(yīng)MSVC
編譯器套件就麻煩了;Qt Creator
的另一個關(guān)鍵功能為支持MSVC編譯器的添加,這樣才能通過vcvarsall.bat
文件方便地添加MSVC
編譯器;- 添加新的編譯器后,選擇
vcvarsall.bat
批處理文件,在后面填上平臺、版本控制的參數(shù),選擇對應(yīng)的ABI
,編譯器就配置完成了; - 別忘了在對應(yīng)版本的套件(
Kit
)中選擇對應(yīng)的編譯器;
到此這篇關(guān)于Qt 添加MSVC2017編譯器的完整教程(保姆級)的文章就介紹到這了,更多相關(guān)Qt 添加MSVC2017編譯器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C語言結(jié)構(gòu)體內(nèi)存對齊問題小結(jié)
本文主要講解了C語言中結(jié)構(gòu)體的內(nèi)存對齊規(guī)則、計算方法以及影響因素,包括對齊規(guī)則的四個要點(diǎn)、內(nèi)存對齊的原因、如何修改默認(rèn)對齊數(shù)以及結(jié)構(gòu)體傳參時的注意事項(xiàng),此外,還介紹了結(jié)構(gòu)體位段的概念、內(nèi)存分配和使用注意事項(xiàng),感興趣的朋友一起看看吧2025-02-02Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟
本文主要介紹了Qt實(shí)現(xiàn)數(shù)據(jù)進(jìn)行加密、解密的步驟,包含QCryptographicHash和Qt-AES兩種庫的實(shí)現(xiàn),具有一定的參考價值,感興趣的可以了解一下2024-03-03C++編程中__if_exists與__if_not_exists語句的用法
這篇文章主要介紹了C++編程中__if_exists與__if_not_exists語句的用法,是C++中用于判斷指定的標(biāo)識符是否存在的基礎(chǔ)的條件判斷語句,需要的朋友可以參考下2016-01-01C++實(shí)現(xiàn)紅黑樹核心插入實(shí)例代碼
紅黑樹是一種二叉搜索樹,但在每個結(jié)點(diǎn)上增加一個存儲位表示結(jié)點(diǎn)的顏色,可以是Red或Black,下面這篇文章主要給大家介紹了關(guān)于C++實(shí)現(xiàn)紅黑樹核心插入的相關(guān)資料,需要的朋友可以參考下2023-06-06C++實(shí)現(xiàn)簡單職工管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C++職工管理系統(tǒng)實(shí)訓(xùn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-04-04