Ubuntu 16.04打包qml项目,到没有qt环境下运行

1、首先需要下载一个打包工具 linuxdeployqt 解压放到linux中

2、然后命令行输入 sudo vim ~/.bashrc,修改环境变量,路径要根据自己的qt安装路径来
Ubuntu 16.04打包qml项目,到没有qt环境下运行
输入source ~/.bashrc保存设置

3、修改 linuxdeployqt的 main.cpp文件注释版本检测代码
Ubuntu 16.04打包qml项目,到没有qt环境下运行

4、现在需要编译下载的打包工具 linuxdeployqt ,
进入文件打开命令行,下载一个git,命令行输入 sudo apt-get install git, 然后创建一个 build 文件夹,进入文件夹输入 cmake … 会生成一个makefile文件 然后再输入 make 编译

5、将 build/tools/linuxdeployqt/linuxdeployqt 放入/usr/local/bin路径下面,命令行输入 linuxdelpoyqt --version 查看是否安装成功
Ubuntu 16.04打包qml项目,到没有qt环境下运行

5、然后将在进入qt选择resale编译

Ubuntu 16.04打包qml项目,到没有qt环境下运行
这样在构建的目录下会生成一个可执行文件
如果还是没有可执行文件生成需要在在工程的.pro文件在输入
Ubuntu 16.04打包qml项目,到没有qt环境下运行
6、将可执行文件放入一个自己新建的目录下,命令行输入 appname(可执行文件名) linuxdelpoyqt -appimage,等待打包完成

7、 将文件放入没有Qt环境的ubuntu中运行如果会报错
Ubuntu 16.04打包qml项目,到没有qt环境下运行
只需要将qml目录拷贝到执行文件目录下即可

8、可能还会报错

qrc:/main.qml:4:1: plugin cannot be loaded for module “QtQuick.Controls”: Cannot load library qml/QtQuick/Controls.2/libqtquickcontrols2plugin.so: (libQt5QuickControls2.so.5: cannot open shared object file: No such file or directory)
这是只需要根据提示到编译环境的库目录下查找对应库,在命令行中输入 ls -l libQt5QuickControls2.so.5 找出链接的库,并把无法找到的库拷贝到执行文件的lib目录中即可