<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Qt6.7.3靜態(tài)編譯

      date = '2025-01-15T23:00:00+08:00' draft = false title = 'Qt6.7.3靜態(tài)編譯全過程' tags = ['coding', 'qt'] categories = ['coding']


      自從2022年與學(xué)長(zhǎng)們一起使用Qt嘗試開發(fā)軟件以來,我一直苦惱于Qt生成的桌面程序的龐大體積,因?yàn)閯?dòng)態(tài)鏈接庫的巨大,導(dǎo)致再簡(jiǎn)單的程序也有54.5MB以上的體積,如何解決這個(gè)問題呢?解決方法是靜態(tài)編譯Qt的源代碼。但由于當(dāng)時(shí)電腦比較垃圾,個(gè)人也沒研究透徹,靜態(tài)編譯過程中出現(xiàn)了各種問題導(dǎo)致失敗。今天終于解決了這問題,以此寫一篇博客供以后參考回憶。

      一、下載與安裝必要文件和程序

      1、下載源碼

      靜態(tài)編譯是在Qt源代碼基礎(chǔ)上進(jìn)行的,因此本地必須要有Qt的源代碼。

      在Qt官網(wǎng)下載Qt6.7.3的源碼

      也可以在Index of /qt/archive/qt/6.7/6.7.3/single/ | 清華大學(xué)開源軟件鏡像站 | Tsinghua Open Source Mirror下載

      源碼的地址是archive/qt/6.7/6.7.3/single/qt-everywhere-src-6.7.3.zip

      下載好后直接解壓到任意目錄即可

      2、配置環(huán)境

      (1)安裝Visual Studio

      下載 Visual Studio Tools - 免費(fèi)安裝 Windows、Mac、Linux

      選擇社區(qū)版,勾選“使用C++的桌面開發(fā)”并執(zhí)行安裝即可

      8233

       

      (2)下載并安裝cmake

      Download CMake

      選擇Windows x64 Installer即可

      注意勾選添加環(huán)境變量

      5579

       

      (3)調(diào)整ninja或安裝ninja

      如果已經(jīng)安裝過Qt,可以在Qt目錄下Qt/Tools/Ninja找到

      1431

      如果沒有安裝Qt,可以在https://github.com/ninja-build/ninja/releases下載

      然后將其加入環(huán)境變量

      (4)安裝Perl、Ruby、Python3

      除了Python3是已知必須的以外,Perl和Ruby是我在其他博客中看到的,秉持著一次搞定的心態(tài),我全部安裝了,但是不能確定Ruby和Perl是否真的在靜態(tài)編譯中起到了作用(也許是某些歷史遺留問題)

      這里不深入研究這個(gè)問題,能裝就都裝上。

      Ruby下載地址: https://rubyinstaller.org/downloads/

      Python下載地址: https://www.python.org/downloads/windows/

      Perl下載地址: https://www.python.org/downloads/windows/

      需要注意的是,Ruby最好選擇Ruby+Devkit版本。其中Ruby和Python都帶有自己的exe安裝程序,但是Perl下載下來是一個(gè)zip壓縮包,完全解壓到安裝目錄后,根據(jù)readme.txt中的內(nèi)容進(jìn)行設(shè)置。實(shí)際上運(yùn)行portableshell.bat即可。

      二、進(jìn)行編譯

      在解壓的源碼目錄下.\Qt\qt-everywhere-src-6.7.3\qtbase\mkspecs\common,找到msvc-desktop.conf

      4709

       

      用記事本打開,修改內(nèi)容:

      5172

       

      5284

       

      將其中所有MD修改為MT,其中D的意思是動(dòng)態(tài)編譯(dynamic),T的意思是靜態(tài)編譯(static)源碼。

      然后選擇Visual Studio中的x64 Native Tools Command Prompt for VS 2022運(yùn)行:

      0533

       

      切換到目錄.\Qt\qt-everywhere-src-6.7.3下,輸入命令:

      configure.bat -static -static-runtime -prefix "E:\ProgramFile\Qt\qt6.7.3-static" -confirm-license -opensource -debug-and-release -platform win32-msvc  -nomake examples -nomake tests   -qt-zlib -qt-libpng -qt-libjpeg -opengl dynamic

      其中,根據(jù)需要,修改雙引號(hào)內(nèi)的路徑,這是最終靜態(tài)編譯結(jié)果的生成地址,指令參數(shù)解讀如下:

      configure.bat

      -static -static-runtime //指明是靜態(tài)編譯

      -prefix "E:\ProgramFile\Qt\qt6.7.3-static" //指明安裝的目錄

      -confirm-license -opensource //指明是開源版本的qt

      -debug-and-release //指明需要debug版和release版,可以單獨(dú)選擇release版

      -platform win32-msvc //指明使用msvc編譯

      -nomake examples -nomake tests //不編譯樣例

      -qt-zlib -qt-libpng -qt-libjpeg //可選插件

      -opengl dynamic

      運(yùn)行指令后會(huì)得到系列cmake清單,此時(shí)只需要再次輸入

      cmake --build . --parallel 6

      其中--parallel 6是指開啟線程數(shù)為6的多線程編譯

      接下來就是漫長(zhǎng)的等待,大概需要編譯19000項(xiàng)左右,個(gè)人用Intel Ultra5 125H跑了1個(gè)小時(shí)多一點(diǎn)。

      編譯結(jié)束后,輸入:

      ninja install

      進(jìn)行安裝即可

      三、配置Qt Creator

      打開Qt Creator,進(jìn)入首選項(xiàng):

      4395

       

      選擇【Qt版本】,點(diǎn)擊【添加】

      5291

       

      選擇編譯結(jié)果的路徑中的qmake.exe即可:

      4896

       

      接下來點(diǎn)擊【構(gòu)建套件】:

      0689

       

      8123

       

      將【Qt版本】設(shè)置為剛剛添加的版本即可。

      最終在構(gòu)建項(xiàng)目時(shí),不要選擇cmake,選擇qmake,即可進(jìn)行靜態(tài)編譯。


      Qt6.7.3_MSVC2022_64_static.zip

      百度云盤鏈接: https://pan.baidu.com/s/1mIMtyKXDlzbr1g-CSwGGzg?pwd=bird 提取碼: bird

      迅雷云盤鏈接:https://pan.xunlei.com/s/VOZ3Ztrx-7MvAfaJ7y8Zug_tA1?pwd=mu27#

      posted @ 2025-01-15 23:53  lamaper  閱讀(578)  評(píng)論(3)    收藏  舉報(bào)

      友情鏈接 jiuler

      主站蜘蛛池模板: 九九热在线视频精品免费| 人妻丰满熟妇av无码区| 亚洲大尺度一区二区三区| 国产三级精品三级| 最新国产AV最新国产在钱| 91色老久久精品偷偷蜜臀| 亚洲黄色一级片在线观看| 国产一级片内射在线视频| 国产99视频精品免费视频76| 国产乱子影视频上线免费观看| 最新中文字幕国产精品| 一个人在线观看免费中文www| 99久久精品国产一区色| 中文字幕亚洲无线码A| 久久er99热精品一区二区| 麻豆麻豆麻豆麻豆麻豆麻豆| 国产办公室秘书无码精品99| 中国猛少妇色xxxxx| 国产精品午夜福利免费看| 亚洲色www成人永久网址| 成年午夜免费韩国做受视频| 人妻在线中文字幕| 日韩永久永久永久黄色大片| 另类 专区 欧美 制服丝袜| 精品国产成人午夜福利| 夜夜爽77777妓女免费看| 国内精品无码一区二区三区 | 随州市| 国产精品一区二区三区四区| 大香伊蕉在人线国产最新2005| 四虎精品视频永久免费| 日本黄页网站免费观看| 国产成人啪精品午夜网站| 德格县| 亚洲国产成熟视频在线多多| 久久久久久久久久久免费精品| 额济纳旗| 亚洲午夜亚洲精品国产成人| 人妻系列无码专区69影院| 两当县| 日本中文字幕在线播放|