1. 程式人生 > >Linux下打包釋出Qt應用程式

Linux下打包釋出Qt應用程式

Linux下打包釋出Qt應用程式

Linux下打包釋出Qt應用程式

Linux下使用Qt進行開發的程式,如果想要在其他搭載Linux系統的主機上執行則需要將要釋出的Qt程式依賴的一些動態連結庫一起打包。具體做法如下:

1. 編譯檔案

在Qt中使用release的方式編譯出可執行檔案,然後新建一個資料夾,將可執行檔案拷貝進去備用。

2.巧用指令碼檔案

這裡以Server可執行檔案為例。
在新建的資料夾下,新建兩個指令碼檔案:

新建檔案

  1. pack.sh
  2. Server.sh 這個指令碼檔名必須和要釋出的程式名字相同,所以為 Server
    新建檔案後,資料夾包含內容如下:
    資料夾內容

新增指令碼

pack.sh檔案裡新增以下內容:

#!/bin/sh  
exe="Server" #你需要釋出的程式名稱
des="/home/mrzhong/server" #建立資料夾的位置
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3
} }') cp $deplist $des

然後向Server.sh檔案裡新增以下內容(內容不需要更改):

#!/bin/sh  
appname=`basename $0 | sed s,\.sh$,,`  
dirname=`dirname $0`  
tmp="${dirname#?}"  
if [ "${dirname%$tmp}" != "/" ]; then  
dirname=$PWD/$dirname  
fi  
LD_LIBRARY_PATH=$dirname  
export LD_LIBRARY_PATH  
$dirname/$appname "[email protected]
"

執行指令碼

終端進入資料夾目錄,執行:

./pack.sh

可執行檔案依賴的連結庫將會拷貝到所在的目錄,如圖:
alt
在其他主機裡面使用和可執行檔案同名的指令碼檔案(這裡為Server.sh)執行程式即可。

打包釋出

最後將這個檔案打包後拷貝到其他主機上即可執行。