变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當前位置: 首頁IT技術 → QT 4.8 靜態庫編譯方法

QT 4.8 靜態庫編譯方法

更多

  最最初踏上QT之路是受到了XiaomaGee的指點,相比于常規的窗口程序開發,QT有著以下特點:

  1、 優良的跨平臺特性(支持Win、Linux、Mac 不同的平臺下只需重新編譯即可使用)

  2、 面向對象

  3、 豐富的API

  4、 支持2D/3D圖形渲染,支持OpenGL

  5、 大量的開發文檔(無需像VC一樣裝幾個G的MSDN)

  6、 XML支持

  其實,僅僅是第一點,就足以讓我從VC轉向QT。并且在本人的學習過程中發現,QT可以很輕易就打造出漂亮的界面,實在是讓我愛不釋手。不論是打造一些實用小程序,或是開發上位機,QT都是很不錯的選擇!

  之前用VC++的時候,只要是編譯出來的exe,就可以放到大多數的電腦上運行,而QT不同,由于QT默認是動態編譯,正常運行需要調用QT的標準庫(即.dll),因此要想脫離IDE單獨運行,必須滿足:將關聯的dll拷貝至.exe同目錄(或system32文件夾內),或者在環境變量中添加QT標準庫的路徑。否則就會出現如下警告:

  

  這就使得QT的通用性受到了局限,尤其是用QT開發上位機時,如果需要在某臺電腦上觀測數據,除了exe,還得拷貝一大堆dll過去,顯得很麻煩,那么,有沒有辦法可以滿足,僅需要一個exe文件,就可以在所有裝有win系統下的電腦上運行呢?答案是肯定的!

  這就需要將QT的標準庫進行靜態編譯。

  本人曾在網上查找了大量資料,經過各種嘗試各種失敗,最終完成了QT4.8最新版本的庫編譯。現將整個步驟,從軟件安裝開始,整理出來供大家參考與交流。

  PS:這里選用的是Windows系統下的QT SDK作為開發環境,如果用VS編譯,僅需在個別步驟稍作修改即可,本人不用VS很久,所以沒有親自測試。

  步驟一:下載軟件安裝包

  一共需要下面3個安裝包

  

  1、 QT下載

  地址:http://qt.nokia.com/downloads

  下載QT SDK及QT Library

  選擇離線安裝包

  

  選擇MinGW版的QT標準庫(VS版的對號入座)

  

  QT4.8的標準庫編譯需要用到perl

  下載地址http://www.activestate.com/activeperl/downloads

  步驟二:安裝軟件

  1、 安裝QT SDK

  目前QT已經被Nokia收購,因此安裝包中會有很多手機程序的開發組件,如果不需要,按照下面給出的配置,去掉不需要的組件即可

  首先在這一頁選擇“Custom”

  

  API部分全部去掉

  

  “Development Tools”中選擇“QT Creator”(默認)和“Desktop QT”中的MinGW版

  個人判斷:這個庫用于QT的動態編譯,選擇安裝,即可在今后實現:調試時使用動態庫,方便快捷;發布時使用靜態庫,便于使用。

  

  這里我又選擇了一遍MinGW,保險起見:)

  

  2、 安裝QT標準庫

  這里有一點要注意,安裝前的最后一步需要選擇MinGW的安裝目錄,在QTSDK文件夾下

  選擇mingw的文件夾即可

  

  3、 安裝Perl環境

  一路狂點Next即可

  步驟三:標準庫的編譯

  1、 配置編譯選項

  1)打開X:\Qt\4.8.0\mkspecs\win32-g++\qmake.conf (X為QT安裝盤符)

  (建議先備份一下)

  在QMAKE_LFLAGS后面加上 –static

  并將QMAKE_LFLAGS_DLL后面的 –shared 改為 –static

  保存并關閉

  2)將X:\Qt\4.8.0\bin 下的syncqt與syncqt.bat 這兩個文件刪除或改名

  否則在編譯時會提示找不到perl環境,如下圖所示

  

  2、 開始編譯

  打開Qt 4.8.0 Command Prompt軟件,輸入

  configure –static –release –no-exceptions

  PS:這個配置僅編譯release版本,如果需要同時需要靜態版的Debug版本,需要把-release 改為 –debug-and-release

  回車后會有版本選擇和用戶協議,先后按”o”(Open Source) “y”(Yes)

  …………耐心等待一會…………

  配置完成后會出現下面這個畫面:

  

  ————在開始這個步驟前,請確保你有至少2個小時的空閑時間————

  接著輸入 mingw32-make sub-src

  回車………該干啥干啥去吧…………直到你看到下面這個畫面:

  PS:編譯過程中可以瀏覽網頁,可以刷微博聊QQ,但不建議跑大型程序,否則會大幅降低編譯速度!!

  

  當你看到這個畫面時,恭喜你,馬上就成功了~

  步驟四:配置QT Creator

  打開QT Creator新建一個工程,在Project界面點擊下圖所示的Manage按鈕

  

  點擊ADD

  

  進入目錄X:\Qt\4.8.0\qmake 選擇qmake.exe 如下圖

  

  底下的Version Name可以自己起(我用的Qt 4.8.0 Static)

  返回Project界面,添加剛才選擇的編譯器

  

  選擇好之后,記得確認選擇的是QT4.8.0的Release版本(靜態Debug版沒有編譯,所以選擇該模式會出錯)

  編譯一下,進入工程目錄,直接雙擊程序,完美運行!

  

  至此,QT靜態編譯完成。

  由于QT直接編譯出來的exe體積較大,為了節省空間,便于保存與傳播,可以壓縮一下,這里選用UPX

  拷貝UPX.EXE至C:\Windows\System32目錄下

  在cmd中輸入upx(+空格)(+文件路徑+文件名)(+回車)

  即可出現下圖

  

  壓縮比例為39.93% 可見效果還是非常可觀的

  至此,QT的靜態庫編譯全部完成。

  為了保證教程的準確性,我在寫教程前,已將QT完整刪除并重新安裝編譯,每完成一步就寫一步的教程。我的編譯方法未必是最好的,但是按照我的方法,保證可以成功!

熱門評論
最新評論
第 3 樓 山西朔州電信 網友 客人 發表于: 2014/10/31 19:08:30
谢谢分享!!!!!!!

支持( 0 ) 蓋樓(回復)

第 2 樓 北京開心網 網友 客人 發表于: 2013/6/18 21:57:31
寫的太好了,但是我沒找到command prompt軟件,我是4.8.1地版本。用qt for...那個,總提示找不到configure命令

支持( 0 ) 蓋樓(回復)

第 1 樓 廣東廣州電信 網友 客人 發表于: 2013/1/22 16:50:20
請問,在這種情況下怎么編譯mysql驅動呢?

支持( 0 ) 蓋樓(回復)

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字數: 0/500 (您的評論需要經過審核才能顯示)
主站蜘蛛池模板: 九九爱精品视频 | 欧美日韩成人 | 亚洲欧美综合乱码精品成人网 | 1769国产精品一区2区 | 91精品国产人成网站 | 国产高清不卡视频在线播放 | 黄色录像a| 国产精品欧美久久久久天天影视 | 一个人看的www免费观看 | 日本一区二区三区不卡在线看 | 一本久道久久综合多人 | 久久久久久久久网站 | 福利成人 | 高h激h奶汁双性文1v1 | 亚洲系列中文字幕一区二区 | 欧美成人欧美激情欧美风情 | 欧美日韩三级在线 | 欧洲一级鲁丝片免费 | 97国产伦子在线观看 | 色婷婷狠狠 | 午夜精品免费 | 成人区在线观看免费视频 | 全黄一级裸片视频免费 | 久久中文字幕网 | 国产青草视频免费观看97 | 亚洲宗合 | 久久久青青草 | 欧美区在线 | 热re91久久精品国产91热 | 性 色 黄 一级 | 欧美黄色一级 | 亚洲五月激情 | 特级全黄| 男女晚上黄羞羞视频播放 | 制服丝袜第一页在线 | 午夜免费视频网站 | 日韩伦理免费在线观看 | 在线成人毛片 | 日韩欧美一区二区三区在线视频 | 日黄网站| 五月激情婷婷网 |