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)運行程序即可。
打包發布
最后將這個文件打包后拷貝到其他主機上即可運行。