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

使用VS2022開發(fā)并部署QT應用實現

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

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

1、相關工具的安裝與配置

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

1.1、VS2022文件編碼配置

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

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

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

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

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

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

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

# 縮進寬度
tab_width = 4 

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

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

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

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

1.2、安裝QT VS Tools

1.3、安裝QT MSVC工具鏈

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

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

1.4、配置QT MSVC工具鏈路徑

上一步安裝的MSVC工具鏈路徑一般為“path/to/qtroot/version/msvc2022_64”,通過VS2022工具->選項打開選項對話框,在Qt->versions配置項中添加相關路徑,并在系統(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中進行,也可以在Qt Creator中進行(它的窗體設計器比較方便)。如果在Qt Creator中編碼,完成后將有關文件添加進VS2022的項目中即可。

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

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

3、編譯

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

4、部署

上一步編譯所得的exe文件離開開發(fā)環(huá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文件拷貝到這個文件夾中,以管理員方式打開終端,導航到此目錄下,執(zhí)行如下命令:

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

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

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

相關文章

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

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

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

    一起來學習C++中類的this指針以使用

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

    華為筆試算法題匯總

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

    C語言goto的應用舉例以及詳解

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

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

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

    C++ 的 format 和 vformat 函數示例詳解

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

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

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

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

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

    OpenCV 圖像拼接和圖像融合的實現

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

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

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

最新評論

丹东市| 宁海县| 博白县| 莱阳市| 阿拉尔市| 柳州市| 河间市| 克东县| 江陵县| 图片| 司法| 彰武县| 汝州市| 日土县| 宜川县| 辛集市| 措美县| 乐业县| 洞口县| 安乡县| 唐河县| 浠水县| 年辖:市辖区| 佛教| 石景山区| 尉犁县| 宁津县| 屏东市| 六安市| 旬邑县| 镇宁| 永善县| 柘荣县| 青神县| 宝清县| 虞城县| 班玛县| 尉氏县| 枝江市| 开平市| 灵川县|