使用linuxdeployqt,在linux下发布qt

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

你可能感兴趣的:(ubuntu,QT/QML)