VS2019编译 Qt5.15.12 和 Qt6.5.3

参考链接:

Windows平台编译Qt5.15.12、6.5.3过程记录_qt 5.15 版本-CSDN博客

软件环境准备

    Windows:MSDN系统库-致力于原版windows生态服务
    Visual Studio 2022:下载 Visual Studio Tools - 免费安装 Windows、Mac、Linux
    cmake:Download CMake
    ninja:GitHub - ninja-build/ninja: a small build system with a focus on speed
    Python:Download Python | Python.org
    Perl:https://strawberryperl.com/
    jom:http://download.qt.io/official_releases/jom/jom.zip

环境验证

上述软件均下载安装并添加到环境变量之后,打开cmd,输入以下命令:

cmake --version

ninja --version

python --version

perl --version

jom -j4

上述五条命令均可以正常执行即可


开始编译Qt5.15.12
下载Qt源码

Index of /archive/qt/5.15/5.15.12/single

下载zip包即可
解压源码

    将上述压缩包你希望存放Qt的目录,右键解压到此处

编译

    打开vs2019交叉编译终端,并cd到压缩包所在目录:
    在此目录下新建build目录,并cd进入build目录


配置Qt

"../qt-everywhere-src-5.15.12/configure.bat" -static -prefix "../5.15.12_installed" -debug-and-release -platform win32-msvc -nomake tests -nomake examples

     命令介绍:

    -static: 表示编译为静态库,如需编译为动态库请忽略此选项
    -prefix: 表示后续Qt安装目录
    -debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。release同理
    -platform: 表示使用win32-msvc。这是Qt规定的选项之一
    -nomake tests: 不编译test模块
    -nomake examples: 不编译examples模块

    配置过程中可能会要求选择许可协议并同意许可协议,按照提示输入即可
    配置完之后,执行jom编译
    编译完之后,执行jom install 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了

开始编译Qt6.5.3
下载并解压Qt源码

Index of /archive/qt/6.5/6.5.3/single

同上
4.2 编译

"../qt-everywhere-src-6.5.3/configure.bat" -static -prefix "../6.5.3_installed" -debug-and-release -platform win32-msvc

    -static: 表示编译为静态库,如需编译为动态库请忽略此选项
    -prefix: 表示后续Qt安装目录
    -debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。release同理
    -platform: 表示使用win32-msvc。这是Qt规定的选项之一

    打开vs2022交叉编译终端,并cd到压缩包所在目录,同上
    在此目录下新建build目录,并cd进入build目录
    配置Qt:
    命令介绍:
    配置完之后,执行以下命令编译:

cmake --build . --parallel 16

    --parallel 16表示16核心一起编译
    编译完之后,执行以下命令 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了

cmake --install .

**********注意********************************************************************

1. 源码路径不要太深,越短越好。

2. 多线程编译时,线程数不要太多. 我编译时指定的4线程,即: jom -j4。

3. 使用和Qt匹配的VS版本。

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

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

相关文章

synchronized与volatile关键字

1.synchronized的特性 1.1互斥 synchronized 会起到互斥效果, 某个线程执行到某个对象的 synchronized 中时, 其他线程如果也执行到 同一个对象 synchronized 就会阻塞等待. 进入 synchronized 修饰的代码块, 相当于 加锁 退出 synchronized 修饰的代码块, 相当于 解锁 syn…

3行代码,实现一个取色器

前言 今天发现了一个很好玩的 API ——EyeDropper。 EyeDropper API 提供了一种创建拾色器工具的机制。使用该工具,用户可以从屏幕上取样颜色,包括浏览器窗口之外的区域。 这是 MDN 上对它的介绍,可以取包括浏览器窗口之外的区域。我们一起看看是怎么个事 什么是取色器 取…

611. 有效三角形的个数(双指针)

文章目录 前言一、题目解析二、代码原理1.暴力解法2.双指针优化 三、代码编写总结 前言 在本篇文章中,我们将会带着大家解决一下611. 有效三角形的个数这道题目,本道题木将会用双指针的方法解决。 一、题目解析 给定一个包含非负整数的数组 nums &…

关于Oracle 23ai 你要知道的几件事情

1.版本生命周期 23ai发布后的Oracle版本生命周期图,可以看到23ai是长期支持版本可以到2032年。 引申 Oracle版本分为两类 Innovation Release--创新版本,一般提供至少两年技术支持 Long Term Release --长期支持版本,一般提供5年premier和…

酸奶(科普)

酸奶(yogurt)是一种酸甜口味的牛奶饮品,是以牛奶为原料,经过巴氏杀菌后再向牛奶中添加有益菌(发酵剂),经发酵后,再冷却灌装的一种牛奶制品。市场上酸奶制品多以凝固型、搅拌型和添加…

开启智能新纪元:揭秘现代化仓储物流园区的数字孪生魅力

在数字化浪潮的推动下,物流行业正迎来前所未有的变革,现代化仓储物流园区数字孪生系统正以其独特的魅力引领着物流行业迈向更加智能、高效的新时代。 图源:山海鲸可视化 一、数字孪生:物流行业的“虚拟镜像” 数字孪生技术作为工…

C++细节,可能存在的隐患,面试题03

文章目录 11. C编译过程12. const vs #define12.1. 全局const vs 局部const 13. C内存分区14. C变量作用域14.1. 常量 vs 全局变量 vs 静态变量 15. C类型转换16. 函数指针17. 悬空指针 vs 野指针18. 为什么使用空指针,建议使用nullptr而不是NULL? 11. C…

JAVA面试常见面试问题01

1、队列系列 1.1、选型 ActiveMq ⼩规模场景,有较低概率丢失消息,官方社区维护少 RabbitMq ⼩规模场景,吞吐量⽐较低,消息积累会严重影响性能 RocketMQ ⼩规模场景,官⽅⽂档和周边⽣态还不够成熟 Kafka 大规模场景…

STM32——基础篇

技术笔记! 一、初识STM32 1.1 ARM内核系列 A 系列:Application缩写。高性能应用,比如:手机、电脑、电视等。 R 系列:Real-time缩写。实时性强,汽车电子、军工、无线基带等。 M 系列:Microcont…

MCU做死循环时,到底应该用for(;;) 还是wihile(1)

MCU做死循环时 for while stm32中老工程师用forfor while背景for版本while版本正方观点:哪有好的编译器:反方观点:这种代码过时了工程师实地测试:和编译器和优化有关 建议还是用for参考 stm32中老工程师用for /* Start scheduler …

linux中相关压缩文件的便捷方式

1.压缩解压缩命令 tar命令 tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。 一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件 常…

MATLAB函数fir1的C语言移值

要移值的matlab函数: h3 = fir1(16,[0.25 0.50]); C语言版本 #include <iostream> #include <cmath>#define PI acos(-1)double sincEasy(double *x, int len, int index) {double temp = PI * x[index];if (temp == 0) {return 1.0; // sinc(0) = 1}return s…

【前端】HTML基础(1)

文章目录 前言一、什么是前端二、HTML基础1、 HTML结构1.1 什么是HTML页面1.2 认识HTML标签1.3 HTML文件基本结构1.3 标签层次结构1.4 创建html文件1.5 快速生成代码框架 三、Emmet快捷键 前言 这篇博客仅仅是对HTML的基本结构进行了一些说明&#xff0c;关于HTML的更多讲解以及…

华为机考入门python3--(23)牛客23- 删除字符串中出现次数最少的字符

分类&#xff1a;字符串 知识点&#xff1a; 访问字典中keychar的值&#xff0c;不存在则返回0 my_dict.get(char, 0) 字典的所有值 my_dict.value() 列表中的最小值 min(my_list) 题目来自【牛客】 import sysdef delete_min_freq_char(s):# 计算字母出现的频次…

【linux】dmesg工具

dmesg介绍 dmesg工具用途&#xff1a; dmesg - print or control the kernel ring buffer kernel ring buffer, 内核环形缓冲区&#xff0c;也叫环形队列&#xff0c;Linux内核日志就存储在一个环形队列中&#xff0c;环形队列满的时候&#xff0c;新的消息会覆盖掉旧的消息。…

《十八》QThread多线程组件

本章将重点介绍如何运用QThread组件实现多线程功能。 多线程技术在程序开发中尤为常用&#xff0c;Qt框架中提供了QThread库来实现多线程功能。当你需要使用QThread时&#xff0c;需包含QThread模块&#xff0c;以下是QThread类的一些主要成员函数和槽函数。 成员函数/槽函数 …

02-Fortran基础--Fortran操作符与控制结构

02-Fortran基础--Fortran操作符与控制结构 0 引言1 操作符1.1 数学运算符1.2 逻辑运算符1.3 关系运算符 2 控制流程2.1 条件结构2.2 循环结构2.3 分支结构 0 引言 运算符和控制流程对编程语言是必须的,Fortran的操作符和控制流程涉及到各种数学运算符、逻辑运算符以及控制结构。…

一文了解栈

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、栈是什么&#xff1f;二、栈的实现思路1.顺序表实现2.单链表实现3.双向链表实现 三、接口函数的实现1.栈的定义2.栈的初始化3.栈的销毁4.入栈5.出栈6.返回栈…

调用nvprof报错: No kernels were profiled. No API activities were profiled.

调用nvprof报错 1 nvprof介绍 nvprof 是 NVIDIA 提供的一款用于分析 CUDA 应用程序性能的命令行性能分析器。CUDA 是一种并行计算平台和编程模型&#xff0c;允许开发人员利用 NVIDIA GPU 进行通用处理。 nvprof 帮助开发人员分析其 CUDA 应用程序的性能&#xff0c;提供各种…

C++继承 - 下

目录 1. 继承和友元 2. 继承与静态成员 3. 菱形继承以及菱形虚拟继承 3.1. 单继承 3.2. 多继承 3.3. 菱形继承 3.4. 菱形虚拟继承 3.5. 菱形继承的底层细节 3.6. 菱形虚拟继承的底层细节 3.7. 虚拟继承 4. 继承的总结 5. 相关继承练习题 5.1. 如何定义一个无法被继…