目標:把Qt程序部署到新的樹莓派中。
平台:樹莓派
工作:把Qt程序和運行環境分別打包
一、程序打包過程如下,僅供參考:
1.新建文件夾A,把程序拷貝到文件夾中。
2.使用ldd獲取依賴關系,並復制到文件夾A。腳本如下:
#!/bin/bash
exe="/home/pi/pack/exe" des="/home/pi/pack/" deplist=$(ldd $exe | awk '{if (match($3,"/")){printf("%s "),$3}}') cp $deplist $des
注意:部分文件和運行環境包中文件是一樣的,可以自己過濾掉
3.在文件夾A中,新建運行程序的同名sh腳本,如下:
#!/bin/bash #獲取和腳本同名的程序名稱和路徑 path=$(cd 'dirname ${BASH_SOURCE}';pwd) name=$(basename $BASH_SOURCE) name=${name%.*} #設置Qt5程序運行環境變量 export LD_LIBRARY_PATH=$path:/usr/local/qt5pi/lib export QT_QPA_PLATFORM=eglfs export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/local/qt5pi/plugins/ export QT_QPA_FONTDIR=/usr/local/qt5pi/lib/fonts export QML_IMPORT_PATH=/usr/local/qt5pi/qml export QML2_IMPORT_PATH=/usr/local/qt5pi/qml export QTDIR=/usr/local/qt5pi #打開Qt插件調試信息,方便查看插件加載錯誤 export QT_DEBUG_PLUGINS=1 $path/$name --platform xcb
部署好運行環境后,雙擊或者終端運行sh腳本。
二、打包運行環境
把/usr/local/qt5pi壓縮成包,部署到新的樹莓派中,同樣的目錄。(可以根據需要精簡,如果不在乎大小,可以不做任何變化)
