Qt Deploy Under linux Platform (linux 系統下有關的 好用Qt 釋出工具 的使用 和自動化)
阿新 • • 發佈:2020-11-05
linux 系統下有關的 好用Qt 釋出工具 的使用 和自動化
linuxdeployqt 地址
https://github.com/probonopd/linuxdeployqt
使用方法參考
https://zhuanlan.zhihu.com/p/49896691
Ubuntu Qt Deploy
吳冬亮 科尤特軟體(上海)有限公司 軟體工程師記錄下 Qt 在Ubuntu 系統下的 部署 釋出
在 windows 系統上, Qt 自帶了一個 windeployqt 的程式
Qt for Windows - DeploymentUbuntu 系統下 Qt 官方 卻沒有提供一個工具,只是長篇累牘的說了下方法
Qt for Linux/X11 - Deployment但其實 github 上有個很好用的工具
probonopd/linuxdeployqt用法也很簡單
下載 最新的打包工具,下載後重命名為deployqt
然後,如果你也是用的Ubuntu 16.04
qmake 存放路徑也是/home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake
程式名也是UbuntuApp的話,cd 到你 deployqt 的路徑
執行 ./deployqt UbuntuApp -qmake="/home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
就可以自動打包程式了
但是要注意的一點,最好使用非 Linux FHS (檔案系統層次結構標準)
就是建立資料夾的時候,結構如下
. ├── build ├── CI │ ├── build.sh │ ├── exe ├── include │ ├── bchartdir.h ├── lib │ ├── libchartdir.so │ ├── libchartdir.so.6.0 │ └── libchartdir.so.6.0.0 ├── src │ ├── ubuntuapp.pro │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h └── tool └── deployqt
build.sh裡的內容如下
# /bin/bash
cd /home/wu/workspace/ubuntuapp/CI/exe
cp /home/wu/workspace/ubuntuapp/tool/deployqt ./
cd /home/wu/workspace/ubuntuapp/src
/home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake /home/wu/workspace/ubuntuapp/src/ubuntuapp.pro -o /home/wu/workspace/ubuntuapp/build -spec linux-g++ CONFIG+=debug
make clean -C /home/wu/workspace/ubuntuapp/build
make -C /home/wu/workspace/ubuntuapp/build
cd /home/wu/workspace/ubuntuapp/CI/exe
cp /home/wu/workspace/ubuntuapp/build/UbuntuApp ./
./deployqt UbuntuApp -qmake="/home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake"
rm deployqt
寫完後,新增許可權
sudo chmod 777 build.sh
ubuntuapp.pro裡的內容如下
QT += core gui
TARGET = UbuntuApp
TEMPLATE = app
CONFIG += C++11
DEFINES += QT_DEPRECATED_WARNINGS
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
INCLUDEPATH += ../include
LIBS += -L../lib -lchartdir
unix:MOC_DIR = ../build/moc
unix:OBJECTS_DIR = ../build/obj
這樣,執行完build.sh後,就能在 exe 資料夾裡得到 一些檔案和資料夾
裡面的 AppRun 的超連結可以雙擊後 開啟 UbuntuApp 程式
然後,把 exe 資料夾改個名字,壓縮成 zip 格式,就可以拷貝到其他機器上用了
編輯於 2018-11-15