Linux下打包釋出Qt應用程式
阿新 • • 發佈:2020-07-30
Linux下打包釋出Qt應用程式
Linux下打包釋出Qt應用程式
Linux下使用Qt進行開發的程式,如果想要在其他搭載Linux系統的主機上執行則需要將要釋出的Qt程式依賴的一些動態連結庫一起打包。具體做法如下:
1. 編譯檔案
轉:https://blog.csdn.net/qq_27350133/article/details/83445258
在Qt中使用release的方式編譯出可執行檔案,然後新建一個資料夾,將可執行檔案拷貝進去備用。
2.巧用指令碼檔案
這裡以Server可執行檔案為例。
在新建的資料夾下,新建兩個指令碼檔案:
新建檔案
- pack.sh
- 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 "$@"
執行指令碼
終端進入資料夾目錄,執行:
./pack.sh
可執行檔案依賴的連結庫將會拷貝到所在的目錄,如圖:
在其他主機裡面使用和可執行檔案同名的指令碼檔案(這裡為Server.sh)執行程式即可。
打包釋出
最後將這個檔案打包後拷貝到其他主機上即可執行。