最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用VS2022開發(fā)并部署QT應(yīng)用實現(xiàn)

 更新時間:2025年09月10日 08:24:41   作者:yivifu  
本文介紹了使用MSVC工具鏈編譯和部署QT框架應(yīng)用程序的環(huán)境配置與編譯部署過程,

QT Creator默認(rèn)使用minGW編譯QT應(yīng)用,但是在windows平臺上,minGW編譯后用QT官方工具(windeployqt)部署,然后移植到?jīng)]有安裝QT運行時的環(huán)境中運行,大概率會出現(xiàn)找不到動態(tài)鏈接庫或者無法定位鏈接庫入口之類的問題,兼容性不好,因此,選擇用MSVC編譯并部署QT應(yīng)用,在windows平臺可能是一個更好的選擇。

1、相關(guān)工具的安裝與配置

要使用MSVC編譯QT應(yīng)用,必須先安裝與QT版本對應(yīng)的VS版本。QT6.9支持的VS版本為VS2022。安裝完VS2022后,需要進(jìn)行一些配置。

1.1、VS2022文件編碼配置

VS2022默認(rèn)使用操作系統(tǒng)編碼頁(中文windows使用936(GBK)),而QT框架的程序源代碼最好使用65001(UTF-8無BOM),如果不變更VS2022的默認(rèn)編碼,不但源代碼中的中文字符會變成亂碼,編譯也會失敗。處理好VS2022環(huán)境編碼問題推薦執(zhí)行以下操作:

1.1.1、修改VS2022環(huán)境中文檔的默認(rèn)編碼:

這一步修改會使VS2022中創(chuàng)建的新文件會以UTF-8編碼保存,打開編碼不明的文件時優(yōu)先以UTF-8編碼解析。

1.1.2、創(chuàng)建項目時,可以在項目根目錄下創(chuàng)建一個文件名為“.editorconfig”的文件,在其中對編輯器編碼等作出規(guī)定:

# 明確所在目錄是項目根目錄,這樣編輯器不會向父目錄繼續(xù)尋找.editorconfig 
root = true 

# 以下規(guī)則對于所有文件生效,注意中括號不能省
[*]

# 縮進(jìn)風(fēng)格,以下兩條規(guī)則也可以直接用indent_size = 4代替
indent_style = tab 

# 縮進(jìn)寬度
tab_width = 4 

# 文件編碼格式,指定文件編碼格式
charset = utf-8

# 行尾格式,Windows一般為CRLF,Linux一般為LF,根據(jù)需要更改
end_of_line = crlf 

# 文件結(jié)尾添加換行符,以防警告
insert_final_newline = true 

1.1.3、如果編譯鏈接過程中仍然發(fā)生編碼方面的錯誤,可以右鍵點擊項目名稱,點擊“屬性”命令打開項目屬性頁,增加附加選項“/utf-8”,如下圖:

1.2、安裝QT VS Tools

1.3、安裝QT MSVC工具鏈

打開Qt Maintenance Tool(Qt維護(hù)工具)

查看是否安裝了MSVC工具鏈,沒有的話勾選并安裝:

1.4、配置QT MSVC工具鏈路徑

上一步安裝的MSVC工具鏈路徑一般為“path/to/qtroot/version/msvc2022_64”,通過VS2022工具->選項打開選項對話框,在Qt->versions配置項中添加相關(guān)路徑,并在系統(tǒng)環(huán)境變量中將“path/to/qtroot/version/msvc2022_64/bin”加入PATH環(huán)境變量。

2、創(chuàng)建項目與編碼

在VS2022中創(chuàng)建QT項目,如果是GUI程序,可以搜索并選擇“Qt Widgets Application”模板作為項目模板。

項目的編碼可以在VS2022中進(jìn)行,也可以在Qt Creator中進(jìn)行(它的窗體設(shè)計器比較方便)。如果在Qt Creator中編碼,完成后將有關(guān)文件添加進(jìn)VS2022的項目中即可。

在項目開發(fā)過程中如果要觀察qDebug()輸出的調(diào)試信息,可以臨時將鏈接系統(tǒng)的子系統(tǒng)指定為控制臺:

在開發(fā)完成后正式編譯連接時再改回“窗口 (/SUBSYSTEM:WINDOWS)”。如果子系統(tǒng)仍然指定為“控制臺 (/SUBSYSTEM:CONSOLE)”,生成的程序運行時除了顯示程序窗體外,還將顯示一個控制臺窗口。

3、編譯

如果要用編譯后的結(jié)果進(jìn)行部署,采用Release(發(fā)布)配置進(jìn)行文件的編譯。編譯過程中如果因為環(huán)境變量未正確配置導(dǎo)致找不到include文件與鏈接庫引起編譯失敗,可以在項目屬性頁將相關(guān)目錄添加進(jìn)項目:

4、部署

上一步編譯所得的exe文件離開開發(fā)環(huán)境并不能獨立運行,要使它能夠獨立運行尚需進(jìn)行部署。安裝完QT Creator的MSVC工具鏈后,QT官方的適用于MSVC編譯器的部署工具就已安裝,路徑為1.4中要求加入PATH環(huán)境變量的“path/to/qtroot/version/msvc2022_64/bin”,文件名為“windeployqt.exe”和“windeployqt6.exe”,顧名思義,后者為支持QT6.*的部署工具。在任意位置創(chuàng)建一個文件夾作為部署文件夾(不要使用其中已包含文件的文件夾,可以使用已有的空文件夾),將編譯出的Release版exe文件拷貝到這個文件夾中,以管理員方式打開終端,導(dǎo)航到此目錄下,執(zhí)行如下命令:

windeployqt6 --release --compiler-runtime application_name.exe 

其中,application_name.exe是編譯所得的應(yīng)用程序文件名。這個命令執(zhí)行完成,部署也就完成了。我用相同的程序代碼實測,minGW的部署版本(要用QT Creator默認(rèn)的minGW工具編譯,也要用minGW目錄下的windeployqt6部署)拷貝到?jīng)]有安裝QT的windows系統(tǒng)中執(zhí)行失敗,使用MSVC工具鏈制作的部署版本則運行成功。

到此這篇關(guān)于使用VS2022開發(fā)并部署QT應(yīng)用的文章就介紹到這了,更多相關(guān)VS2022開發(fā)部署QT內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Qt開發(fā)之QString類的使用教程詳解

    Qt開發(fā)之QString類的使用教程詳解

    本文主要介紹了Qt中QString類的使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-11-11
  • 一起來學(xué)習(xí)C++中類的this指針以使用

    一起來學(xué)習(xí)C++中類的this指針以使用

    這篇文章主要為大家詳細(xì)介紹了C++中類的this指針以使用,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 華為筆試算法題匯總

    華為筆試算法題匯總

    這篇文章主要為大家匯總了華為筆試算法題,每一題都給出了詳細(xì)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • C語言goto的應(yīng)用舉例以及詳解

    C語言goto的應(yīng)用舉例以及詳解

    goto的用法就是改變程序執(zhí)行的順序,從某個地方跳轉(zhuǎn)到你標(biāo)志的地方,下面這篇文章主要給大家介紹了關(guān)于C語言goto的應(yīng)用舉例及詳解的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • C語言中的long型究竟占4個字節(jié)還是8個字節(jié)(遇到的坑)

    C語言中的long型究竟占4個字節(jié)還是8個字節(jié)(遇到的坑)

    小編在復(fù)習(xí)C語言的時候踩到了不少坑,糾結(jié)long類型究竟占4個字節(jié)還是8個字節(jié)呢?好,今天通過本文給大家分享下我的詳細(xì)思路,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • C++ 的 format 和 vformat 函數(shù)示例詳解

    C++ 的 format 和 vformat 函數(shù)示例詳解

    傳統(tǒng)C庫的printf系列函數(shù)存在安全問題,而C++推薦的基于流格式化輸入輸出雖然解決了安全性問題,但在易用性方面仍顯不足,C++11引入了新的C風(fēng)格字符串格式化函數(shù),但類型安全問題依舊存在,下面通過本文介紹C++ 的 format 和 vformat 函數(shù)示例,感興趣的朋友一起看看吧
    2025-02-02
  • C語言實現(xiàn)通訊錄系統(tǒng)

    C語言實現(xiàn)通訊錄系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了C語言實現(xiàn)通訊錄系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • 詳解C/C++中的select、poll和epoll

    詳解C/C++中的select、poll和epoll

    本文通過示例介紹了C/C++中的select、poll和epoll知識,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-06-06
  • OpenCV 圖像拼接和圖像融合的實現(xiàn)

    OpenCV 圖像拼接和圖像融合的實現(xiàn)

    本文主要介紹了OpenCV 圖像拼接和圖像融合,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • C語言中bool變量的深入理解

    C語言中bool變量的深入理解

    C語言中沒有BOOL類型變量,它是C++獨有的,由于使用BOOL類型可以使代碼更具有可讀性,下面這篇文章主要給大家介紹了關(guān)于C語言中bool變量的相關(guān)資料,需要的朋友可以參考下
    2021-08-08

最新評論

南溪县| 儋州市| 剑阁县| 盐城市| 邢台县| 阜康市| 高台县| 大竹县| 泌阳县| 马龙县| 赤峰市| 邵阳市| 高雄市| 尤溪县| 凤冈县| 高平市| 昌乐县| 江油市| 镇康县| 甘孜| 利辛县| 陕西省| 乐安县| 营山县| 正镶白旗| 黄冈市| 宁陵县| 景德镇市| 邹平县| 弋阳县| 罗源县| 孟津县| 莲花县| 达拉特旗| 克东县| 明水县| 大安市| 秦皇岛市| 珠海市| 上杭县| 长白|