C++學(xué)習(xí)筆記(十二) - Qt靜態(tài)編譯及程序靜態(tài)發(fā)布

開發(fā)環(huán)境系統(tǒng)版本:Ubuntu 16.04 LTS
程序測(cè)試環(huán)境系統(tǒng)版本Ubuntu 16.04 LTS & Ubuntu Server 16.04
Qt版本QT5.8.0
前言:前面寫了一篇Qt5動(dòng)態(tài)發(fā)布的方法长已,可是測(cè)試中發(fā)現(xiàn)使用起來還是很復(fù)雜悬蔽,我的程序涉及到數(shù)據(jù)庫,websocket,tcp等,組件太多氓侧,程序雖然能正常運(yùn)行,但是數(shù)據(jù)庫無法連接晌姚,必須要安裝Qt5和MySQL的驅(qū)動(dòng)才可以沪曙。所以繼續(xù)研究qt的靜態(tài)發(fā)布。
qt靜態(tài)發(fā)布網(wǎng)上有眾多教程,官網(wǎng)也有一個(gè)教程linux-deployment,巴特按厘,沒一個(gè)現(xiàn)在還能用的医吊。官網(wǎng)的教程不能使用我認(rèn)為還是有原因的,我搞到最后才發(fā)現(xiàn)逮京,這可能就是企業(yè)版和開源免費(fèi)版的區(qū)別卿堂。
下面進(jìn)入正題,我分享一下我這一個(gè)星期摸索的成果懒棉。目前實(shí)現(xiàn)了靜態(tài)發(fā)布之后的程序草描,在相同版本Linux和server上能夠直接運(yùn)行,不需要安裝任何東西漓藕。

1 靜態(tài)編譯Qt

首先需要下載qt的源碼:qt-everywhere-opensource-src-5.8.0.tar.gz陶珠,解壓在某個(gè)目錄下。
然后從Terminal進(jìn)入該文件夾享钞。
輸入指令:

./configure --help

會(huì)看到一堆幫助文檔揍诽,可以對(duì)著幫助文檔把自己不需要的部分刪掉,刪除的方法就是后面的栗竖,不編譯或者跳過暑脆。編譯的東西越多越容易報(bào)錯(cuò),不同版本的幫助文檔也不相同狐肢。
然后輸入以下指令:

sudo ./configure -prefix /home/qking/Documents/Qt5.8.static -continue -opensource -confirm-license -static  -no-opengl -sql-mysql -no-compile-examples -no-dbus -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -skip qtwayland

只解釋幾個(gè)重要的:

  • -prefix /home/qking/Documents/Qt5.8.static 是指定靜態(tài)庫安裝目錄
  • -continue 有錯(cuò)誤也盡量繼續(xù)編譯
  • -static 靜態(tài)編譯
  • -no-opengl 不要opengl
  • -skip 跳過后面的模塊
    反正添吗,哪里有問題,你就看自己會(huì)不會(huì)用到份名,用不到就到幫助文檔里找以下怎么跳過碟联。
    下一步就是執(zhí)行:
sudo make

過了很久之后,沒有error僵腺,就執(zhí)行make install

靜態(tài)編譯qt會(huì)很艱難鲤孵,有什么問題互相交流吧。
marke一個(gè)環(huán)境變量的配置辰如,不曉得是不是必需的普监,如果后面的步驟出現(xiàn)什么問題,可以試一下琉兜。

QTDIR= /home/qking/Documents/Qt5.8.static
PATH=$QTDIR/bin:$PATH     
MANPATH=$QTDIR/global:$MANPATH     
LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH     
export QTDIR PATH MANPATH LD_LIBRARY_PATH  

2 靜態(tài)編譯程序

上面完成之后就可以靜態(tài)編譯程序了凯正,首先設(shè)置qt creator,引入我們的靜態(tài)庫豌蟋。

2.1 添加靜態(tài)庫

點(diǎn)擊tool-options-Build&Run廊散,然后選擇Qt Versions選項(xiàng)卡:

Qt Versions

點(diǎn)擊add,到靜態(tài)庫的哪個(gè)安裝目錄下梧疲,找到bin/qmake奸汇,添加進(jìn)來:

參考我的路徑

復(fù)制下面的Versionname后面的內(nèi)容施符。
選擇Kits選項(xiàng)卡,點(diǎn)擊add:

Kits

name那一欄粘貼剛才復(fù)制的名字擂找,檢查一下Qt Version是不是靜態(tài)庫的,然后點(diǎn)擊旁邊的Make Default設(shè)置為默認(rèn)浩销。

2.2 靜態(tài)編譯程序

首先打開自己的工程目錄贯涎,刪掉后綴為.pro.user.pro.user.677b2d5的兩個(gè)文件,第二個(gè)可能是相似慢洋。然后重新使用qt打開工程塘雳,它就會(huì)提示你重新選擇編譯所用的kits,選擇靜態(tài)的就好了普筹。
然后編譯程序败明,編譯出的就是靜態(tài)的程序,只將可執(zhí)行文件拷出來就可以在其他電腦上執(zhí)行太防。文件大小在M以上妻顶,動(dòng)態(tài)的一般只有幾百K。

參考文獻(xiàn)
Qt 官網(wǎng)
Linux 下 靜態(tài)編譯Qt程序
拜謝各位大神蜒车,希望大家多多交流讳嘱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市酿愧,隨后出現(xiàn)的幾起案子沥潭,更是在濱河造成了極大的恐慌,老刑警劉巖嬉挡,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件钝鸽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡庞钢,警方通過查閱死者的電腦和手機(jī)拔恰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焊夸,“玉大人仁连,你說我怎么就攤上這事≮逅耄” “怎么了饭冬?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長揪阶。 經(jīng)常有香客問我昌抠,道長,這世上最難降的妖魔是什么鲁僚? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任炊苫,我火速辦了婚禮裁厅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘侨艾。我一直安慰自己执虹,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布唠梨。 她就那樣靜靜地躺著袋励,像睡著了一般。 火紅的嫁衣襯著肌膚如雪当叭。 梳的紋絲不亂的頭發(fā)上茬故,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音蚁鳖,去河邊找鬼磺芭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛醉箕,可吹牛的內(nèi)容都是我干的钾腺。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼琅攘,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼垮庐!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起坞琴,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤哨查,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后剧辐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體寒亥,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年荧关,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了溉奕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡忍啤,死狀恐怖加勤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情同波,我是刑警寧澤鳄梅,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站未檩,受9級(jí)特大地震影響戴尸,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜冤狡,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一孙蒙、第九天 我趴在偏房一處隱蔽的房頂上張望项棠。 院中可真熱鬧,春花似錦挎峦、人聲如沸香追。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翅阵。三九已至,卻和暖如春迁央,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背滥崩。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工岖圈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人钙皮。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓蜂科,卻偏偏與公主長得像,于是被迫代替她去往敵國和親短条。 傳聞我的和親對(duì)象是個(gè)殘疾皇子导匣,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容