作為初入Qt學習的新人,花了整整一兩天時間,對Qt編譯版本等問題進行了一步步探索,首先感謝網站博客中文章,開始也不是很明白一些幾個問題:
1、Qt版本問題

作為初學者,可能下載時這么多版本,如何選擇呢?
版本很多,開發平台Windows、mac、linux等;這里以windows平台為例,x86(Win32位);
winrt 平板電腦下 ;
mingw Minimalist GNU For Windows,是將GNU開發工具移植到Win32平台下的工具集,用其開發的程序不需要額外的第三方DLL支持即可以直接在Windows下運行;
msvc 2010,2013等,這是微軟VC平台,按照了VC對應版本可以選這個,就不用再另外下載MinGw,后綴_64,說明編譯的程序在64位上運行
opengl 圖像渲染用
具體要按照你的開發環境,系統等來選擇合適的
2、靜態庫下載
在網上尋找 Qt 靜態庫,就搜索 Qt Static Builds ,目前找到兩個地方有: http://sourceforge.net/projects/static-qt/ https://github.com/fostersoftware/QtStaticWindows 第一個是 SourceForge 上的項目,第二個是 GitHub 上的項目,這兩個網站希望新手記牢了, 以后要找好東西都可以去這兩個網站。 GitHub 上面的 QtStaticWindows 比較新,是 5.3.2 版本的,所以就選這個來做教程示范。 從 GitHub 網站下載東西,可以直接點擊網頁右邊“Download ZIP”
還有就是現在百度雲盤下,就不用有些CSDN下載中有的要求積分,這里是免費的,希望對還不是CSDN成員的初學者能夠方便,不至於開始就感覺,下載軟件都這么難。
Qt5.3.2靜態編譯的庫QtStaticWindows5.3.2-new.7z 網盤鏈接下載:http://pan.baidu.com/s/1mgIGPdA
指導等見該鏈接:http://www.chinadmd.com/file/evxxovcexr3s6oeuvuzsozpt_1.html
3、Qt動態編譯和靜態,還有debug 和release(調試和發布)
上面是本人通過Qt Creator建立的一個工程文件,名稱為“shared_static”,之前網上下載Qt 4.8.5,一般是動態編譯,但是只能在該筆記本或台式機上,如果要其他電腦也直接運行,必須要附帶動態庫,發布時文件較多。
如新建一個Qtgui空窗口,mingw編譯程序運行需要動態庫mingwm10.dl、QtCore4.dll、QtGui4.dll、libgcc_s_dw2-1.dll。
小時還可以接受,如果動態庫很多,就覺得不方便,就像可以只有一個exe跑遍任何windows電腦。
下面教你如何動態庫情況下,改為靜態編譯模式:
最初動態修改為靜態方法:
1、C:\Qt\4.8.5\mkspecs\win32-g++\qmake.conf,具體看你安裝路徑,找到qmake.conf文件打開(notepad或txt都行),修改下面兩行:
QMAKE_LFLAGS_DLL后面的 –shared 改為 –static
QMAKE_LFLAGS后面加上 –static
2、C:\Qt\4.8.5\bin 下的syncqt與syncqt.bat 這兩個文件刪除或改名
3、打開Qt 4.8.5 Command Prompt軟件,輸入
configure –static –release –no-exceptions回車
如果需要同時需要靜態版的Debug版本,需要把-release 改為 –debug-and-release
回車后會有版本選擇和用戶協議,先輸入”o”(Open Source) ,下一個要輸入時輸入“y”(Yes)
…………耐心等待一會…………
直到再次出現:
4、接着輸入 mingw32-make sub-src
我從22點多直接安裝到次日2點的才完成(不過我是選擇static下debug和release兩種構建套件),同時為了保證運行速度,還是不要運行大的程序,可以去睡覺了,真是漫長。。。。。。
直到再次出現:
恭喜你完成動態到靜態的修改
5、工具-〉選項,選擇Qt version,ADD(添加)C:\Qt\4.8.5\qmake 選擇qmake.exe,其他的選項同動態編譯時一樣選擇。
恭喜你,現在新建工程,然后選擇模式,就可以編譯靜態下的exe了
本人是參考這個,具體見http://www.uzzf.com/news/2131.html,在這里非常感謝版主。
4、Qt動態編譯和靜態,還有debug 和release生產exe文件大小問題
動態debug
動態release
靜態debug
靜態release
| 模式 | 大小KB |
| 動態release | 68 |
| 動態debug | 787 |
| 靜態release | 10645 |
| 靜態debug | 169656 |
可以清楚的看到,靜態比動態模式式生成的exe文件大的多,而debug又比release大的多。
這是本人這幾天學習心得,作為新人碰到的一些問題,考慮后面新人可能又會碰到類似問題,覺得還是寫這篇博客,僅供學習,禁止抄襲,發揚高尚品德。
5、下載Qt軟件的網站推薦下
http://download.qt.io/official_releases/qt/5.4/5.4.1/
http://www.qt.io/download-open-source/#section-2
http://www.qter.org/Qter開源社區
http://blog.csdn.net/goodtomsheng/article/details/44829825
