Qt5 程序封包exe

2024-01-23 05:08
文章标签 exe 程序 qt5 封包

本文主要是介绍Qt5 程序封包exe,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天接到一个需求,编写需求完了要封包,在其他程序中调用这个外部exe

愁啊! 没弄过!一顿百度

1.把release的exe文件单独放入一个文件夹中

 

2.执行qt自带的windeployqt工具来打包

点电脑开始-->选择项目的编译方式

 有很多中编译方式,gcc,msvc什么的,因为我的项目是32位 msvc编译的,所以我选择 2019 32-bit

弹出cmd

 进入到刚刚我们拷贝exe的文件路径,这里是拷贝以后的,新的exe的路径

 输入指令: windeployqt -qmldir qml的路径 拷贝后的exe

这里需要注意!也是坑我最久的地方,刚开始我是输入windeployqt 新exe 但是打包出来的exe执行后没有东西显示,后来发现是没有加qml文件

我的可执行exe是InstallLoadingDemo.exe

qml文件路径在exe的上一级的InstallLoadingDemo/qml中

如果带qml文件的话我的指令就是

windeployqt -qmldir ../InstallLoadingDemo/qml InstallLoadingDemo.exe

不带qml的指令是

windeployqt InstallLoadingDemo.exe

ps:把我的程序名替换即可

 执行后,就打包成功了。

 因为我的需求要在main函数中传参,所以输入如图指令试了下,是成功了

3.接下来封包

我用的是 Enigma Virtual Box 百度下载即可

 下面的输出虚拟文件的名称和路径是自动填充的,可以修改,我一般不会修改路径

 点击文件选项,选中压缩文件,会让生成的文件内存小一点

 

点击添加,添加什么呢,就添加刚刚执行的exe文件的目录下的相关库

 这里有个小提示,网上的教程都是一个文件一个文件加,文件夹也是一个一个加,太麻烦了!我随手试了一下拖动,可以的,直接把除了exe之外的所有文件和文件夹直接拖入会方便很多

 使用默认就行,确定即可

 最后一步,打包

 

在生成目录下,多了一个exe,就可以直接运行了。不过为什么这个exe这么大,不清楚,可能是有的库没有用到的也被封进去了,先成功再说吧! 

这篇关于Qt5 程序封包exe的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/635317

相关文章

uniapp接入微信小程序原生代码配置方案(优化版)

uniapp项目需要把微信小程序原生语法的功能代码嵌套过来,无需把原生代码转换为uniapp,可以配置拷贝的方式集成过来 1、拷贝代码包到src目录 2、vue.config.js中配置原生代码包直接拷贝到编译目录中 3、pages.json中配置分包目录,原生入口组件的路径 4、manifest.json中配置分包,使用原生组件 5、需要把原生代码包里的页面修改成组件的方

Java面试八股之怎么通过Java程序判断JVM是32位还是64位

怎么通过Java程序判断JVM是32位还是64位 可以通过Java程序内部检查系统属性来判断当前运行的JVM是32位还是64位。以下是一个简单的方法: public class JvmBitCheck {public static void main(String[] args) {String arch = System.getProperty("os.arch");String dataM

一道经典Python程序样例带你飞速掌握Python的字典和列表

Python中的列表(list)和字典(dict)是两种常用的数据结构,它们在数据组织和存储方面有很大的不同。 列表(List) 列表是Python中的一种有序集合,可以随时添加和删除其中的元素。列表中的元素可以是任何数据类型,包括数字、字符串、其他列表等。列表使用方括号[]表示,元素之间用逗号,分隔。 定义和使用 # 定义一个列表 fruits = ['apple', 'banana

美容美发店营销版微信小程序源码

打造线上生意新篇章 一、引言:微信小程序,开启美容美发行业新纪元 在数字化时代,微信小程序以其便捷、高效的特点,成为了美容美发行业营销的新宠。本文将带您深入了解美容美发营销微信小程序,探讨其独特优势及如何助力商家实现业务增长。 二、微信小程序:美容美发行业的得力助手 拓宽客源渠道:微信小程序基于微信社交平台,轻松实现线上线下融合,帮助商家快速吸引潜在客户,拓宽客源渠道。 提升用户体验:

程序人生--拔丝地瓜

一个会享受生活的人,难免会执迷于探索“三餐茶饭,四季衣裳”的朴素涵义。如今在这繁杂喧闹、竞争激烈的社会环境里,如何才能从周而复始的生活中挖掘出一点儿期待!这是一个仁者见仁智者见智的开放性话题。对于大部分的人来说,看电影、运动、旅游、美食、加班....是假日的备选安排。 春节临走之前,再次尝试“拔丝地瓜”,为何要强调“再次”二字?因为这道甜菜我已经尝试过很多次,失败与成功都经历过。十几年的烧饭经历

vscode python pip : 无法将“pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称

在vscode中控制台运行python文件出现:无法将"pip”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。 使用vscode开发python,需要安装python开发扩展: 本文已经安装,我们需要找的是python安装所在目录,本文实际路径如下: 如果在本文路径中没有此目录,请尝试在C盘中搜索 python,搜索到相关python目录后,点击Python 3.9进入目录,

2_为MFC程序添加菜单

在MFC中添加菜单栏 1,双击资源文件,显示资源视图,点击Menu插入Menu菜单,编辑菜单的ID,自己取名字。 2,点击“请在此处键入”添加菜单选项,输入&E,E的下面就会产生下划线;在产生的弹出菜单中继续编辑,并且可以添加事件处理函数; 在弹出菜单的任意位置,鼠标右键,弹出的菜单中选择“插入分隔符”,即可产生分隔符 3,在你设计的Dialog窗口的属性栏,选择Menu后面的

在Ubuntu 14.04上安装和配置SNMP守护程序和客户端的方法

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 介绍 作为系统管理员的重要工作之一是收集关于服务器和基础设施的准确信息。有许多工具和选项可用于收集和处理这种类型的信息。其中许多工具都是建立在一种叫做 SNMP 的技术之上。 SNMP 代表简单网络管理协议。它是服务器可以共享关于其当前状态的信息的一种方式,也是管理员可以修改预定义值的通道。虽

Tkinter和selenium结合实现登录UC后台,最后打包成exe

主要实现的功能:小号模式自动登录UC阿里汇川广告后台,屏蔽账号密码输入 主要用的技术:用Tkinter展示所有的广告账号界面,使用selenium控制谷歌浏览器,打开阿里汇川登录页,登录汇川后台。 第一次写,遇到的坑比较多,三天,搞定。给自己一个棒棒~☺️ import Tkinter as tk import osimport sysimport requestsfrom sel

QT5在linux环境安装

sudo apt-get install build-essential debian-keyring freeglut3-dev sudo apt-get install mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev freeglut3-dev Ubuntu 13.04下构建Qt5开发环境 Leave