1. 程式人生 > 實用技巧 >Qt Deploy Under linux Platform (linux 系統下有關的 好用Qt 釋出工具 的使用 和自動化)

Qt Deploy Under linux Platform (linux 系統下有關的 好用Qt 釋出工具 的使用 和自動化)

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 - Deployment​doc.qt.io

Ubuntu 系統下 Qt 官方 卻沒有提供一個工具,只是長篇累牘的說了下方法

Qt for Linux/X11 - Deployment​doc.qt.io

但其實 github 上有個很好用的工具

probonopd/linuxdeployqt​github.com

用法也很簡單

先從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