安装QT5
sudo apt-get install qt5-default qtcreator -y
错误:QT Unknown module(s) in QT: serialport
sudo apt-get install libqt5serialport5
sudo apt-get install libqt5serialport5-dev
项目打包
#创建放项目的文件夹
cd /opt
sudo mkdir object && cd object
#将qt项目路径中,找到对应项目的release文件夹,取里面的可执行文件,将其移动刚刚创建的目录
sudo mv workspace/qt/qttest/qttest /opt/object
#查看项目依赖库
ldd workspace/qt/qttest/qttest
#在object文件夹中创建lib文件夹
sudo sudo mkdir lib
#在object文件夹中创建importlib.sh文件
sudo touch importlib.sh
#修改importlib.sh文件 权限
sudo chmod 777 importlib.sh
#打开importlib.sh
sudo vim importlib.sh
将下面内容写到importlib.sh中
#! /bin/bash
#执行脚本时在终端输入 ./importlib.sh ./test ./lib
#其中./test为ldd所要查看的可执行程序的路径,./lib为依赖文件最终拷贝到的文件夹路径
#以下三个参数为终端输入
# $0 为 ./importlib.sh
# $1 为 ./test
# $2 为 ./lib
# awk 后 $0,$1,$2为终端日志的字符串,以空格为分隔符,只在awk本行起作用
#将字符串重定向到dependList
dependList=$( ldd $1 | awk '{if (match($3,"/")){ print $3}}' )
#输出 ./test
#echo $1
#拷贝依赖
cp $dependList $2
#拷贝可执行程序
cp $1 $2
导包测试
#找到Qt的安装路径 \Qt5.12.1\5.12.1\gcc_64
#将plugins和qml两个文件夹复制到我们的打包目录object下(防止导入不全)
#创建编写qt.conf文件
sudo touch qt.conf
sudo vim qt.conf
#写入一下内容
[Paths]
Prefix = ./
Plugins = plugins
Imports = qml
Qml2Imports = qml
#导库
./importlib.sh qttest ./lib
#测试
./qttest
最终目录结构
object
lib
plugins
qml
qt.conf
项目名