Linux下Qt程序的打包發布


程序以test為例:

1. QtCreate使用Release版本編譯

2. 從可運行程序的文件中拿出可執行文件,例:test

3. 終端下使用ldd命令查看需要的連接庫,例:ldd test

4. 把ldd查詢到的所有需要的庫導出
這里提供一個腳本將ldd打印出來的依賴庫復制到指定路徑:

#!/bin/sh

exe="test" #發布的程序名稱
des="/home/******/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 "$@"

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
轉自:https://blog.csdn.net/hjl_1991/article/details/50365927


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM