用linuxdeployqt打包太麻煩,每次程序編譯都要用linuxdeployqt打包一次,而且每次都要很長時間,通過研究得出一個新的打包方法
1.用用linuxdeployqt得出依賴的庫文件(只要沒有增加新模塊,只要用一次就可以)
2.把xcb相關的文件放到和運行文件同一目標下即可(在plugins目標下有platforms、xcbglintegrations文件夾是xcb運行相關的)如下圖所示
3.配置依賴路徑庫路徑
LD_LIBRARY_PATH=$dirname/lib:$dirname/platforms:$dirname/xcbglintegrations
export LD_LIBRARY_PATH
或者在運行時設置如下:我這里用腳本啟動
#!/bin/sh
?
# 獲取應用名稱(如應用名稱為app,那么腳本為app.sh
appname=`basename $0 | sed s,\.sh$,,`
?
# 獲取應用當前目錄
dirname=`dirname $0`
tmp="${dirname#?}"
?
# 判斷目錄是不是根目錄
if [ "${dirname%$tmp}" != "/" ];?
then
dirname=$PWD/$dirname
fi
?
# 將當前目錄(庫所在目錄)加入環境變量
LD_LIBRARY_PATH=$dirname/lib:$dirname/platforms:$dirname/xcbglintegrations
export LD_LIBRARY_PATH
?
# 運行
$dirname/$appname "$@"
這就可以編譯好后直接拷貝文件到其他機器運行,不用每次都要用linuxdeployqt打包