linuxdeployqt
github地址 https://github.com/probonopd/linuxdeployqt
下载release版本:
linuxdeployqt-continuous-x86_64.AppImage 应用程序
linuxdeployqt-continuous-x86_64.AppImage.zsync 校验文件
Source code (zip) 源代码包
Source code (tar.gz) 源代码包
1 下载 linuxdeployqt-continuous-x86_64.AppImage
2 重命名为 linuxdeployqt
sudo mv linuxdeployqt-continuous-x86_64.AppImage linuxdeployqt
3 移动到目录 /usr/local/bin
,然后就可以使用了
4 打开终端,输入命令 linuxdeployqt
可以看到使用手册
5 配置 qt 的环境变量
终端输入以下命令,修改 .bashrc 文件
vi ~/.bashrc
在文件末尾追加以下,其中/home/wmx/Qt5.8.0 是我的qt 安装路径,大家要用自己的路径代替
#add QT ENV
export PATH=/home/wmx/Qt5.8.0/5.8/gcc_64/bin:$PATH
#export LD_LIBRARY_PATH=/home/wmx/Qt5.8.0/5.8/gcc_64/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/home/wmx/Qt5.8.0/5.8/gcc_64/plugins:$QT_PLUGIN_PATH
#export QML2_IMPORT_PATH=/home/wmx/Qt5.8.0/5.8/gcc_64/qml:$QML2_IMPORT_PATH
6 发布app
可执行程序名 appName
程序图标 appName.png
所有linux机器统一路径 /app
qml文件路径 /app/qml
库文件路径 /app/lib
插件路径 /app/plugins
平台支持文件路径 /app/plugins/platforms
4种方式选1:
非qml程序:
1 在终端输入 linuxdeployqt /app/appName
2 在终端输入 linuxdeployqt /app/appName -appimage
qml程序:
3 在终端输入 linuxdeployqt /app/appName -qmldir=/app/qml
4 在终端输入 linuxdeployqt /app/appName -qmldir=/app/qml -appimage
其中-appimage 参数可以生成 linux下桌面图标启动
编写linux桌面图标启动(可选步骤)
如何编写 .desktop 文件可以参考https://help.ubuntu.com/community/UnityLaunchersAndDesktopFiles
#-- 全局安装(所有用户可用), xxx.desktop 放在
/usr/share/applications
#-- 当前用户可用, xxx.desktop 放在
~/.local/share/applications
#--appName.desktop
[Desktop Entry]
Version=1.0
Name=appName
Comment= this app use for xxx
Exec=/app/appName
Icon=/app/appName.png
Terminal=false
Type=Application
Categories=Utility;Application;
7 编写开机脚本 runApp.sh
#!/bin/bash
export LD_LIBRARY_PATH=/app/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=/app/plugins:$QT_PLUGIN_PATH
export QML2_IMPORT_PATH=/app/qml:$QML2_IMPORT_PATH
./app/appName
8 启动终端 运行脚本 runApp.sh ,大功告成
9 注意,如果 7 8 步骤无效 ,请使用 qt.conf 文件
在 /app 目录下 建一个空文件命名为 qt.conf 即可 (此时使用默认值,文件结构也如下默认值指出)
Prefix=QCoreApplication::applicationDirPath()
Documentation=doc
Headers=include
Libraries=lib
Binaries=bin
Plugins=plugins
Imports=imports
Data=.
Translations=translations
Settings=.
Examples=.
Demos=.
参考qt.conf文件 http://doc.qt.io/qt-4.8/qt-conf.html