windows下Qt 5的安装与编译打包

news2024/10/7 6:45:16

环境与版本

操作系统:windows 10

Qt版本:5.14.2,最后一个有独立安装包的版本,下载地址:archive/qt/5.14/5.14.2

IDE:自带的qt-creator 4.11.1,也可以自行下载其他版本4.14.2,下载地址:archive/qtcreator/4.14/4.14.2

编译环境:MinGW,电脑要先配置MingGW环境,否则无法编译代码,具体安装这边不做赘述,网上下载一个安装并把路径加到环境变量path里就行:MinGW-w64 - for 32 and 64 bit Windows - Browse /mingw-w64/mingw-w64-release at SourceForge.net。

1.安装Qt

先断网,避免触发注册账号的选项,不嫌麻烦可以不断网,注册一个账户也没什么影响。

1.1 直接双击安装包,下一步根据自己需求选择安装路径,不能带中文或特殊符号或空格等,然后下一步选择安装选项。

1.2 在Qt中,根据自己用MSVC还是MinGW编译环境,勾选相应的组件,也可以同时勾选,占用一些空间而已。

1.3 其他一般就按默认的来就行,然后下一步就是等待安装完成。
在这里插入图片描述

2.第一个Qt程序

如果不想用IDE,要编译hello_qt.cpp,可以通过在代码目录下使用命令“qmake -project”生成工程文件 -> "qmake hello_qt.pro"生成编译文件 -> "make"编译,来编译代码,但是相比来说没有IDE方便,下面介绍qt-creator使用方法。

2.1 工程建立

(1)新建项目
在这里插入图片描述

(2)选择工程目录
在这里插入图片描述

(3)选择编译系统,默认用qmake即可
在这里插入图片描述

(4)定义类信息,采用默认即可
在这里插入图片描述

(5)语言选择,默认即可
在这里插入图片描述

(6)选择编译工具,我们用的是MinGW,所以选择该选项,自行决定要用32还是64位的
在这里插入图片描述

(7)完成配置
在这里插入图片描述

2.2 编译第一个Qt代码

工程配置完之后,就会自动生成一个基本的代码:

在这里插入图片描述

可以通过左下角的绿色三角形图标进行编译和调试
在这里插入图片描述

运行结果:
在这里插入图片描述

至此,可以进行其他的Qt功能开发了。

3.可视化调节界面

上面的两步会生成界面显示文件mainwindow.ui,可以通过修改该代码来调节界面,其实也可以通过Qt自带的Qt designer,来直观地调节界面。

在IDE里直接双击mainwindow.ui,就可以打开编辑,可以调整大小,增删图表等等,然后再通过CPP代码处理逻辑。

比如我这边缩小了尺寸,增加了个按钮:
在这里插入图片描述

再编译运行后即可获得对应结果:
在这里插入图片描述

4.打包发布

还有其他的打包工具,比如:Enigma Virtual Box和Inno Setup,这边只介绍Qt自带的windeployqt

4.1 首先切换Release构建:
在这里插入图片描述

4.2 把可执行程序复制出来,放到比如\qt\hello_qt\publish\目录下,自己新建即可,然后选择自带打包工具
在这里插入图片描述

切换到刚才的publish目录下。

4.3 打包,执行命令即可完成打包

windeployqt hello_qt.exe

可以把publish打包发给其他人使用了,但是打包的文件是真的大,裁掉一些不必要的库

windeployqt –no-angle –no-opengl-sw hello_qt.exe 
// libEGL.dll, libGLESV2.dll 这两个文件是 ANGLE 的文件,可以去掉

// opengl32sw.dll 是软件模拟 OpenGL, QtWidgets/C++ 程序都不用 OpenGL,所以直接去掉即可。

// 可在调用 windeployqt.exe 时加”–no-angle” 和 “–no-opengl-sw” 这两个参数。

// iconengines\qsvgicon.dll, imageformats\qsvg.dll, Qt5Svg.dll 这三个文件,如果没有使用 svg 的话,也可以删掉

// 如果没有国际化用户的话,translations 里面的翻译文件也可以删掉。

// QML 程序没有使用 QtWidgets/C++ 可以删掉 Qt5Widgets.dll  //C++程序不可以删除!!

// 如果 imageformats 目录里面有几种图像格式没用上,也可以删掉。Qt已经编译了 png 的支持,能读写程序包含的图标就够,其它格式不重要。

// qmltooling 和 Qt5Network.dll 是用于 QML 调试用的,可以删掉。

如果要用静态库,那还得用静态方式static选项编译qt源码才行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/84022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis实现增删改查

准备工作:建立项目,连接数据库MySQL,安装Mybatix插件 数据库代码准备: -- 删除tb_brand表 drop table if exists tb_brand; -- 创建tb_brand表 create table tb_brand (-- id 主键id int primary key auto_increment,…

itop3568开发板旋转uboot logo和内核logo

修改设备树 rk_android11.0_sdk/kernel/arch/arm64/boot/dts/rockchip/topeet_rk3568_lcds.dtsi 文件。如果配套的屏幕是 LVDS 7 寸屏幕或者 LVDS10.1 寸 1024*600 屏幕或者 LVDS10.1 寸 1280*800 屏幕,修改如下所示。 &route_lvds{ status "okay"; …

使用Postman+JMeter进行简单的接口测试

以前每次学习接口测试都是百度,查看相关人员的实战经验,没有结合自己公司项目接口真正具体情况。 这里简单分享一下公司项目Web平台的一个查询接口,我会使用2种工具Postman和JMeter如何对同一个接口做调试。 准备工作 首先,登录公…

GATK Germline_SNP_INDEL_2.0 分析遗传病(耳聋)

GATK Germline_SNP_INDEL_2.0 分析遗传病(耳聋) 一、本文是Gatk Germline spns-indels Pipeline 分析遗传病(耳聋)的升级版,目的是提供开箱即用的分析流程,尽可能简化部署和迁移。 更新内容如下: 人类参考基因组以及…

RTSP 媒体协议流的录制方案及其覆盖策略详解

前言 在安防和监控领域,RTSP 媒体协议流有很广泛的使用。本文将介绍一种针对 RTSP 媒体流的录制方案及其相应的覆盖策略。据我所知,声网的实时录制功能支持三种模式,分别是云端录制、本地服务端录制和页面录制,今天我们介绍的录制…

[基因遗传算法]进阶之六:VRP的进阶经典问题的解码如何写

文章目录一、CVRP二、MDCVRP2.1 解的编码分析2.2 代码2.3 分割展示三、VRPTW四、MDVRPTW4. 1 解的编码分析4.2 解的代码4.3 结果展示4. 4 MDVRPTW的计算适应度4.5 MDVRPTWd的结果展示图一、CVRP 见博文《[基因遗传算法]进阶之三:实践CVRP》 二、MDCVRP 参考资料:《Python实现…

Qt的场景图Scene Graph

叫场景树更合适,本质不是图。QML场景中的Qt Quick项目将填充QSGNode实例树。 场景图是Qt Quick 2.0引入的,建立在要绘制的内容是已知的基础上。所有QML项目均使用场景图进行渲染,场景图的默认实现是与OpenGL紧密相关的低级高性能渲染堆栈。 …

谈谈前端性能优化-面试版

前言 当我们去面试的时候,很大概率会被面试官问这么一个问题:你有尝试过对项目做性能优化吗?或者你了解哪些性能优化的方法?听到这个问题的你可能是这样的: 似曾相识但又说不清楚,往往只能零散地说出那么几…

Go string原理简析

引入 当查看string类型的变量所占的空间大小时,会发现是16字节(64位机器)。 str : "hello"fmt.Println(unsafe.Sizeof(str)) // 16也许你会好奇,为什么是16字节,它的底层存储模型是什么样子的。 源码分析 …

焦脱镁叶绿酸-a修饰量子点/荧光/药物/小分子抑制剂/上转换纳米颗粒/树枝状聚合物

小编在这里为大家分享的科研内容是焦脱镁叶绿酸-a修饰量子点/荧光/药物/小分子抑制剂/上转换纳米颗粒/树枝状聚合物的相关研究,来看! 焦脱镁叶绿酸-a简介: 焦脱镁叶绿素-a是产物叶绿素a通过脱甲氧羰基、去植物醇、去Mg后的产物。该类物质具有…

day19【代码随想录】删除字符串中的所有相邻重复项、逆波兰表达式求值、滑动窗口最大值、前 K 个高频元素、数组中的第K个最大元素

文章目录前言一、删除字符串中的所有相邻重复项(力扣047)二、逆波兰表达式求值(力扣150)三、滑动窗口最大值(力扣239)四、前 K 个高频元素(力扣347)五、数组中的第K个最大元素&#…

MyBatis系列---crud返回值

目录1. service与mapper2. 更新操作3. 查询操作3.1. 返回值存储3.2. 简单映射3.3. ResultSet 的预处理3.4. 确定 ResultMap3.5. 创建映射结果对象3.6. 自动映射3.7. 存储对象3.8. 返回结果为单行数据3.9. 返回结果为多行数据3.10. 结论1. service与mapper mybatis一般与spring…

深度活体模型带交互模型版

🍿*★,*:.☆欢迎您/$:*.★* 🍿

点击Tab标签切换不同查询数据,并选择数据存入缓存实现两个界面带参数跳转

项目场景: 在不同的tab标签页中点击不同的标签页查找不同的内容,然后选中其中一个页面中的一条数据将此数据某个信息选中然后存入session缓存当中然后另一个界面从session中取出,从而达到带参数跳转界面的需求 问题描述 可以做到跳转界面但是数据会显示到地址栏当…

做开发4年了,年薪还不如2年经验的测试。我该适应当下节奏吗...

代码码了这么些年,你年薪达到多少了? 我,4年码龄,薪资最高的时候16k*12薪,年薪不到20W。都说IT行业薪资高,但年薪百万的还是金字塔尖极少数,像我这样的才是普通的大多数,却也还要用…

电脑维护与故障处理

第一章 认识电脑的组成 1.1 硬件组成 1.1.1 CPU 1.1.2 主板 1.1.3 内存 1.1.4 硬盘 1.1.5 电源 1.1.6 显示器 1.1.7 键盘和鼠标 1.1.8 光驱 1.1.9 显卡 1.1.10 其他外部设备 1.2 软件组成 1.2.1 操作系统 Windows XP Windows 7 服务器操作系统 —— Windows Ser…

04-Nginx-conf配置文件基本了解

Nginx负载均衡,反向代理入门配置: nginx.conf整体结构 nginx入门基本配置 Nginx.conf配置文件详解(upstream和location负载均衡和反向代理配置): #运行用户 user www-data; #启动进程,通常设置成和cpu的数量相等 wor…

基于边缘智能网关打造智慧体育场

运动健身是民众广泛存在的生活需求,体育场馆作为承载各种体育运动的基础设施,其运营管理效率、服务水平和智能化场景应用等都与用户体验紧密相关。 得益于物联网、边缘计算、AI智能等新技术的广泛应用,当前已有越来越多体育场馆通过部署基于…

数据结构与算法——Java实现稀疏数组和队列

目录 一、基本介绍 1.1 线性结构 1.2 非线性顺序结构 二、稀疏数组 2.1 基本介绍 2.1.1 应用场景 2.1.2 实现思路 2.2 代码实现 2.2.1 原始数组 2.2.2 原始数组转化为稀疏数组 2.2.3 稀疏数组转化为原始数组 三、队列的应用场景和介绍 3.1 数组模拟队列 3.1.1数组模拟队列的…

Find My资讯|Seinxon推出支持苹果 Find My 防丢卡

在美国,平均每个人每年丢失 3,000 件物品。而在 2021 年,Pixie 数据显示,丢失产品的更换成本超过 25 亿美元。每周超过两次,将近 1/4 的美国人丢失房门钥匙、钱包、宠物、电话、眼镜、耳机、遥控器、手提箱或孩子最喜欢的物品。 …