首页 > 系统相关 >linux与windows环境下qt程序打包教程

linux与windows环境下qt程序打包教程

时间:2024-08-07 13:25:24浏览次数:10  
标签:qt windows prj linuxdeployqt 5.14 linux PATH 2.1

一、演示环境

  • qt5.14.2

二、Linux

2.1 关联依赖文件

2.1.1 下载打包工具

在Windows环境下可以使用 Qt Creator自带的官方工具进行打包,而Linux环境下没有官方工具,需要借助第三方工具才能打包。如:linuxdeployqt、CQtDeployer、AppImageKit,甚至是自己编写shell将依赖导入指定目录。

这里以linuxdeployqt为例。

下载地址:Releases · probonopd/linuxdeployqt · GitHub

2.1.2 安装

下载完成后,为了后续使用方便,先修改名称

mv linuxdeployqt-xxxxx-x86_64.AppImage linuxdeployqt

修改为可执行权限

chmod 777 linuxdeployqt

放入/usr/local/bin目录,方便调用

sudo mv linuxdeployqt /usr/local/bin

测试是否安装成功

linuxdeployqt --version

# 出现下方版本即表示成功
linuxdeployqt  (commit 6fcaf74), build 55 built on 2023-09-23 13:33:41 UTC

2.1.3 设置环境变量

linuxdeployqt会根据环境变量找寻qt库文件

vim ~/.bashrc

增加bin、lib、plugins、qml路径(这步最重要)

# 填写qt安装目录下的相应路径,这里我只截取部分
export PATH=Qt5.14.2/5.14.2/gcc_64/bin:$PATH
export LIB_PATH=Qt5.14.2/5.14.2/gcc_64/lib:$LIB_PATH
export PLUGIN_PATH=Qt5.14.2/5.14.2/gcc_64/plugins:$PLUGIN_PATH
export QML2_PATH=Qt5.14.2/5.14.2/gcc_64/qml:$QML2_PATH

生效

source ~/.bashrc

测试

qmake --version
# 输出版本信息表示环境设置正确
QMake version 3.1
Using Qt version 5.14.2 in /home/xxx/install/Qt5.14.2/5.14.2/gcc_64/lib

2.1.4 创建项目目录

创建项目目录,接纳依赖文件以及可执行文件(可执行文件需要手动make一个Release版本的,set(CMAKE_BUILD_TYPE "Release") )

创建目录

# 这里就随意了,自己知道即可
mkdir test_prj
cd test_prj

将可执行文件拷贝至test_prj中

cp qt_prj test_prj

2.1.5 拷贝依赖

之后在test_prj下使用linuxdeployqt自动拷贝依赖

cd test_prj
linuxdeployqt qt_prj -appimage 

执行完毕后,出现如下报错可以忽略

检查

完成后目录中就包含了所需的所有依赖(除显示加载的so)

2.1.6 补充依赖

防止项目的运行环境中缺少GCC,报错找不到“GLBCXX_XX.XX.XX”,补充以下lib(可通过find找到其在本机的位置):

libstdc++.so.6.0.xx

libstdc++.so.6

libtbbmalloc.so.2

libtbbmalloc_proxy.so.2

libtbb.so.2

此外,如果项目需要静态资源文件,如项目中的resource文件夹,同样需要手动拷贝至项目根目录中。

2.2 测试运行

最后在可执行文件根目录进行测试

./qt_prj

大功告成~

2.3 tips

如果在运行时提示找不到xxx.so,且搜索的路径是root/而不是项目路径,可以在执行前输入:

export LD_LIBRARY_PATH="这里写项目path/lib":$LD_LIBRARY_PATH

三、Windows

在windows环境下较为简单,直接使用Qt Creator左下方build release,编译release版本的可执行文件,之后将文件复制到空文件夹中。

之后启动cmd命令行,使用

windeployqt xxx\release版本的.exe

即可。

若qt项目为窗口应用程序,需要在cmakelist中添加如下命令,防止启动时弹出命令行窗口。

set(CMAKE_CXX_FLAGS "-mwindows")

标签:qt,windows,prj,linuxdeployqt,5.14,linux,PATH,2.1
From: https://blog.csdn.net/m0_54901781/article/details/140988129

相关文章

  • Linux内核学习—— 1内核体系结构
    一内核体系结构1内核模式与体系结构2内核中断概括3进程管理概括二内核源码结构三内核引导程序操作系统结构:用户应用程序操作系统服务层内核(文件系统,内存管理,进程管理,驱动管理)硬件系统驱动操作系统工作方式:把做操作系统从用户态切换到内核态(用户应用程序到内核流......
  • VTK8.0.0编译(Qt 5.14.2+VS2017)
    VTK8.0.0编译(Qt5.14.2+VS2017)本片文章编译VTK8.0.0主要是为了配合PCL1.8.1而编译的,因为PCL1.8.1使用的是VTK8.0版本,但是PCL安装文件夹中提供的VTK8.0不全,和Qt结合使用的时候,会报错。所以还是得自己重新编译。关于Qt和MSVC的安装,可以参考文章(Qt5.14安装(配置MSVC2017))。......
  • 设置windows系统下的tomcat开机自启
    设置前的准备工作(配置系统环境变量)新增CATALINA_HOME变量,变量值为tomcat的安装路径在Path中添加:%CATALINA_HOME%\bin结合安装版本问题,分正常安装版本tomcat和免安装tomcat(无service.bat)两种情况。一、正常安装版本(tomcat安装文件有service.bat文件)说明:安装后没有servi......
  • Windows环境下JDK安装与环境变量配置
      1、安装了‌JDKJDK可以到官网下载:     http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html可根据需要下载压缩包或安装程序均可    1、下载压缩包,解压后直接配置环境变量    2、下载安装程序,点击安装......
  • Linux服务器SSH远程密钥免密登录
    说明业务场景中经常需要进行跨服务器的操作,即从一台服务器上登录到另外一台服务器,默认情况下,SSH远程登录时需要输入远程服务器密码。当需要在可信任的服务器之间进行频繁或自动化的操作时,输入密码就会带来不便。本文介绍如何实现SSH远程免密登录。服务器信息假设有2台服......
  • Nessus Professional 10.8.0 Auto Installer for RHEL 9/AlmaLinux 9/Rocky Linux 9
    NessusProfessional10.8.0AutoInstallerforRHEL9/AlmaLinux9/RockyLinux9发布Nessus试用版自动化安装程序,支持macOSSonoma、RHEL9和Ubuntu24.04请访问原文链接:https://sysin.org/blog/nessus-auto-install-for-rhel-9/,查看最新版。原创作品,转载请保留出处。N......
  • Windows环境下MySql8.0安装手册
    一、下载安装包登录官网https://www.mysql.com/downloads/点击MySql社区(GPL)下载  点击MySQLInstallerforWinsows  选择离线安装程序点击下载  点击开始下载   二、安装Mysql双击安装包  选择自定义安装  选择产品  一路下一步......
  • Windows环境下RabbitMQ安装手册
    一、安装Erlang27.0.1环境下载地址为http://www.erlang.org/download/直接在erlang官网下载会非常慢,推荐一个下载加速器,FreeDownloadManager(FDM),是一款功能强大的下载及管理软件  双击安装程序,一路下一步   二、下载安装RabbitMQhttps://github.com/rabbitmq/r......
  • Windows环境下Redis6.0安装手册
    一、下载安装包访问官网下载压缩包https://download.redis.io/releases/  解压缩到指定文件夹   二、修改配置文件打开redis.conf文件,修改daemonize的值为yes  三、编译redis源码Redis通常以源代码的形式分发,‌需要用户自行编译,或直接下载编译好的文件 ......
  • Linux安装Docker
    安装前问题1.新安装的CentOS在首次登录时出现需要创建一个新用户的界面Ctrl+Alter+F2新建一个命令行桌面,在这个界面可以使用root账号密码登录在命令行界面执行以下命令,即可跳过该步骤yumremovegnome-initial-setupinit3init52.无法正常显示ipv4地址1.进入存放网......