linux下QT程式部署

2021-10-10 02:48:59 字數 1064 閱讀 5474

例如開發的程式名稱為hs_run。

場景為提供共享資料夾(myshare)的windows宿主機,開發用的linux虛擬機器dev,發布用的linux虛擬機器pub。

過程為:

1. 將虛擬機器dev開發的程式和依賴庫複製到共享資料夾下。

2. 將共享資料夾下的程式和依賴庫複製到虛擬機器pub下。

在虛擬機器dev下,複製程式hs_run到myshare資料夾下。

進入myshare資料夾,

執行命令 gedit pack.sh

新增以下內容並儲存:

#!/bin/sh 

exe="hs_run" #你需要發布的程式名稱

des="/home/wud/hgfs/myshare" #共享資料夾的位置

deplist=$(ldd $exe | awk  ' }') 

cp $deplist $des

執行命令 gedit hs_run.sh

新增以下內容並儲存:

#!/bin/sh 

dirname=`dirname $0` 

tmp="$" 

if [ "$" != "/" ]; then 

dirname=$pwd/$dirname 

fi ld_library_path=$dirname 

export ld_library_path 

執行命令./pack.sh

myshare資料夾下會生成程式執行相關的依賴庫。

如果為qt開發,可能還需要手動複製以下3個檔案:

複製qt/plugins/platforms/libqxcb.so到myshare/platforms/libqxcb.so

複製qt/lib/libqt5xcbqpa.so.5.12.9到myshare/libqt5xcbqpa.so.5.12.9,並重命名為libqt5xcbqpa.so.5

複製qt/lib/libqt5dbus.so.5.12.9到myshare/libqt5dbus.so.5.12.9,並重命名為libqt5dbus.so.5

在虛擬機器pub下,進入myshare資料夾,執行命令./hs_run.sh

linux下打包QT程式

把qt寫的程式整理好,生成release版本。利用下面的copylib.sh指令碼檔案,拷貝release版本的依賴庫。把 usr lib arm linux gnueabihf qt5 plugins platforms拷貝到release所在資料夾 建議單獨拿出來release版本的程式 找出p...

Linux下QT程式打包

3 步驟 linuxdeployqt 參考qtcreate使用release版本編譯 從可執行程式的檔案中拿出可執行檔案,例 umarm 例 ldd umarm bin sh exe umarm 你需要發布的程式名稱 des home junion desktop bin 建立資料夾的位置 depl...

Linux下Qt程式的打包發布

程式以test為例 這裡提供乙個指令碼將ldd列印出來的依賴庫複製到指定路徑 bin sh exe test 發布的程式名稱 des home hejianglin qtproject build test desktop release releasetest 你的路徑 deplist ldd e...