qt命令行程序启动外部进程_QT之程序打包发布
1.引言
QT开发完之后,如果直接把exe文件发给别人,是没法直接用的,因为会提示缺少很多库,一种方法是把这些库拷贝出来,一起发过去,但是这样不方便且文件很大,所以需要一种文件打包发布的方法。
2.环境
1)我用的QT 5.12.3版本,QT 4.x版本不行。
2)Enigma Virtual Box
https://enigmaprotector.com/en/downloads.html
3.具体步骤
1)打开一个QT程序,以release方式运行一次。操作如下图:
2)这时你的工程项目文件夹下,会生成一个关于release的文件夹,打开关于release相关的文件夹,找到该目录下release目录下的.exe程序。此时你点击是运行不成功的。因为缺少QT必要的库文件。
将这个.exe文件拷贝出来,创建一个单独的文件夹,放在这个文件夹下,比如桌面的test文件夹里。
3)在开始菜单中,打开QT命令行窗口
接着输入命令行,cd /d 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车
cd /d C:/Users/wangwnexue/Desktop/test
4)输入如下命令行:windeployqt 程序名 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:
此时,在当前目录下是可以点击运行exe程序的,说明库文件都已经拷贝到当前目录下了。这时就可以执行将这一堆文件进行打包的操作了,需要使用Enigma Virtual Box工具。
5)打开运行Enigma Virtual Box
第一步选择上述的exe文件
第二步:添加路径和文件如下图。选择所有文件后,注意是要所有文件和文件夹全部拖进。示意图如下:
结果如下:
第3步:点击在【Files Options】中可以选择是否将文件压缩:
第4步:最后点击Process开始打包
生成testweb_boxed.exe就可以直接打开使用了。
4.总结
在实际操作过程中遇到了以下几个问题
- 提示windeployqt不是内部或外部命令
原因是:一开始我电脑里用的不是QT5.x版本,所以它是没有的,装了新版本的就有了。
2.提示FaceImport.exe does not seem to be a Qt executable.
原因是:我装了QT最新版本,但是编译器用的还是老版本,需要改成最新的,就可以了。
qt命令行程序启动外部进程_QT之程序打包发布相关推荐
- 使用启动外部进程的方式解决there should be only one application object(使用qtwinmigrate中常出现)
目录 背景 解决问题 背景 有点时候,在Windows操作系统下,在dll中使用qtwinmigrate添加了qt界面,然后在MFC或者C#或者其他语言调用的时候不会出现问题,然而再用QtGUI程序去 ...
- jmeter远程启动命令_Jmeter命令行方式启动
在性能测试过程中,我们常常遇到这样的问题,使用Jmeter的GUI界面进行大并发量的性能测试时,界面容易卡死,无法继续进行性能测试.通过使用命令行方式启动jmeter是一个不错的方式.下面就简单介绍一 ...
- 使用命令行配置启动windows服务
使用命令行配置启动windows服务 转载自:http://blog.csdn.net/wuliao009/article/details/7203219 使用命令行启动服务 1. 打开"命 ...
- docker 启动命令_Jenkins视频课程在Docker环境下安装Jenkins,命令行如何启动Jenkins...
Tomcat是Apache开发的一款servlet容器,可以提供java服务,作为服务器来使用.Jenkins是开源CI&CD软件领导者, 提供超过1000个插件来支持构建.部署.自动化, 满 ...
- redis docker安装、进入命令行后启动服务
下载redis镜像 首先查看一下redis是否正确: docker search redis 显示: NAME DESCRIPTION STARS OFFICIAL AUTOMATED redis R ...
- php框架进入命令行,swoole为何要用命令行来启动_PHP开发框架教程
swoole: PHP的协程高性能网络通信引擎,运用完整同步的代码完成异步顺序.PHP代码无需分外增添任何关键词,底层自动举行协程调理,完成异步IO. 基于 swoole 的服务端应该在命令行体式格局 ...
- 普元 AppServer 7.0 执行startServer.cmd启动,命令行一直启动中,server.log报错:com.primeton.appserver.l7e.exception.Impr
[问题] AppServer 7.0 JDK1.8.0_251 执行startServer.cmd启动,命令行一直启动中,server.log报错: [2020-06-11T10:21:33.53 ...
- 如何用命令行启动mysql_命令行方式启动mysql 如何用命令行启动mysql
如何用命令行启动mysql,有时候,仅是简单的想在电脑上启动myql,当然如果用myql图形管理器也是可以的,比如avicate以及qlyog,本经验教你如何使用命令行启动myql. 如何用命令行进入 ...
- centos 系列设置开机命令行模式启动
centos中6种运行级别如下: 0:关机 runleve0 --- poweroff.target 1:单用户 ...
最新文章
- 【Deep Learning笔记】前馈神经网络和BP算法
- 2.11 linux的软防火墙apf安装配置
- java的c import_关于编译(javac),import,package的再理解
- iOS SAX解析XML
- spark 调度模块详解及源码分析
- mysql视图存储_Mysql 视图、存储过程以及权限控制
- 设单片机的晶振频率为6mhz c语言,单片机习题科学出版社.doc
- linux挂载ntfs分区报错,Linux下挂载NTFS分区和挂载分区的方法
- 一种简单好用的Vue表单验证
- as3 字符处理函数
- SpringMVC之拦截器实现登录验证
- prototype 对象的进一步深入理解
- apache POI技术的使用
- 罗马音平假名片假名转换器_平假名与片假名
- 8个高质量免抠素材网站
- latex入门(一)——latex网站overleaf
- 6-2 两顶点之前有路径吗?
- 江苏卫视舞蹈演员机器人_百度机器人踢馆江苏卫视《芝麻开门》
- 同款蓝牙耳机为什么会串联_为什么蓝牙耳机不能两个同时使用
- 怎样挑选适合自己的云主机
热门文章
- Python使用matplotlib可视化多个时间序列数据、在同一个可视化图像中可视化多个时间序列数据(Multiple Time Series)
- pandas使用dropna函数删除dataframe中所有包含缺失值的数据行(drop rows which contain missing vlaues in dataframe)
- python使用openCV图像加载(转化为灰度图像)、Canny边缘检测器检测图像的边缘(Detect Edges)
- R语言ggplot2可视化:ggplot2可视化分组散点图并使用geom_smooth函数在散点图图中为不同的散点簇添加对应的回归曲线
- R语言构建文本分类模型并使用LIME进行模型解释实战:文本数据预处理、构建词袋模型、构建xgboost文本分类模型、基于文本训练数据以及模型构建LIME解释器解释多个测试语料的预测结果并可视化
- R语言abline函数为图像添加竖线、横线、斜线、回归线实战
- R假设检验之k-s检验(KOLMOGOROV AND SMIRNOV TEST)
- PCA图像数据降维及重构误差分析实战并使用TSNE进行异常数据可视化分析
- pandas使用to_sql方法将dataframe注册为数据库表进行数据整合和数据清洗并不对比SQL操作和dataframe操作
- The impact of third generation genomic technologies on plant genome assembly 第三代基因组技术对植物基因组组装的影响