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

Linux下Qt程式的打包釋出

程式以test為例:

1. QtCreate使用Release版本編譯

2. 從可執行程式的檔案中拿出可執行檔案,例:test

3. 終端下使用ldd命令檢視需要的連線庫,例:ldd test

4. 把ldd查詢到的所有需要的庫匯出

這裡提供一個指令碼將ldd打印出來的依賴庫複製到指定路徑:

#!/bin/sh

exe="test" #釋出的程式名稱
des="/home/hejianglin/QtProject/build-test-Desktop-Release/ReleaseTest" #你的路徑

deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')
cp $deplist $des

說明:exe :要釋出的程式名稱 des:指定複製的路徑 

5. 編寫.sh文件 並將它放在與步驟4同一目錄下(.sh檔案命名必須與可執行檔名字一樣例:可執行檔名 test, .sh 檔名為 test.sh)
.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]
"

6. 執行這個.sh檔案:

可能因為不行執行需更改許可權:

chmod +x test.sh

Ok!大功告成,將這個檔案複製到其他電腦上就可以運行了。

注:

Linux 版本:Ubuntu 14.04 LTS

Qt:5.2.1


參考地址:http://doc.qt.io/qt-5/linux-deployment.html