Linux下Qt程式的打包釋出
阿新 • • 發佈:2018-12-31
程式以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