ubuntu 環境下的QT程序打包


很多的時候 需要將自己寫的QT 程序發布一下  所以今天教一下 怎么在ubuntu 環境下將自己的寫的Qt 程序打包打包是為了不依賴 開發環境 和開發的庫。

1. QtCreate使用Release版本編譯

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

3. 終端下使用ldd命令查看需要的連接庫,例:ldd untitled23424242
4. 把ldd查詢到的所有需要的庫導出

這里提供一個腳本將ldd打印出來的依賴庫復制到指定路徑:

 

#!/bin/sh  
  
exe="untitled23424242" #發布的程序名稱   這是我的可執行程序的名字
des="/home/alvin/Desktop/untitled23424242/" #你的路徑   這是我的可執行文件的路徑 對應的相應的更改
  
deplist=$(ldd $exe | awk  '{if (match($3,"/")){ printf("%s "),$3 } }')  
cp $deplist $des 

 

說明:exe :要發布的程序名稱 des:指定復制的路徑
   對應的相應的要更改

改完之后設置 腳本的權限 

sudo chmod 777 dabao.sh

運行腳本

./dabao.sh 

你會發現可執行文件依賴的 庫復制到 你指定的路徑里了

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

 


免責聲明!

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



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