Windows10+VS2022从源码编译Qt5.15.5

Qt5下载与安装(Windows版) Qt5下载 Qt下载地址:Qt下载 版本选择:大版本来算,Qt5是最新的。小版本来看,从5.7.0开始加入了 Qt5安装 阅读详情
AI摘要

本文介绍了Qt5.15.5源码编译的操作步骤,包括下载安装VS2022、Perl、Ruby等必要工具,添加工具到Path环境变量,进行动态库和静态库编译,还提及了子模块编译及将编译结果添加到QtCreat,最后介绍了使用jom多线程编译。

操作步骤

1、下载安装QT5编译必要的工具
2、下载QT5源码并按需修改配置文件
3、进行动态库和静态库的编译

安装VS2022在这里插入图片描述

下载安装Perl

下载 Strawberry Perl 的64位Portable版本并解压
Strawberry Perl 下载

下载安装Ruby最新本版

目前最新版本是rubyinstaller-3.0.3-1-x64.7z 下载后解压

Ruby 下载

下载Qt5.15.5源码并解压

Qt5.15.5 下载

注意: 下载的软件解压到非中文目录(vs2022集成的python不需要这一步)

添加Perl ,Ruby以及gnuwin32到Path环境变量(gnuwin32工具包含在QT源文件根目录下),工具路径如图所示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
打开cmd,输入echo %path% 查看系统环境变量path信息
在这里插入图片描述
cmd输入:perl --version、ruby --version 以及 flex --version回车执行,正确输出各个工具版本信息则编译工具链配置完成。

开始编译

这里演示动态库编译和静态库编译(推荐QT使用方式是动态库的方式,虽然需要携带几个dll,但是这种方式是LGPL许可协议中商业许可的。如果使用静态链接打包QT库到单个可执行文件中,有着诸多的商用限制,具体查看相关的协议许可)

首先是QT的32位动态库编译,在左下角开始菜单中,查找打开 Visual Studio 2022文件夹下的 x86 Native Tools Command Prompt for VS 2022 Current,(编译64位库则打开x64 Native Tools Command Prompt for VS 2022 Current,编译32位库和64位库只有此处不同),cd命令进入到源文件根目录下,按行依次执行

configure -prefix “d:\qt5” -shared -release -nomake examples -nomake tests -skip qtwebengine -opensource -confirm-license
nmake
nmake install
上边的出错,就用下边的这个
configure -confirm-license -opensource -debug -qt-sqlite -qt-zlib -qt-libpng -qt-libjpeg -nomake tests -no-compile-examples -nomake examples

-prefix 代表构建目录,是编译完成后,头文件和库文件的输出路径,建议这里的文件夹名全英文,否则可能会在最后nmake install 报copy命令语法不正确的错误
-shared -static 表示生成动态或静态库,不指定此参数默认是动态库
-release 生成release发布版,或指定 -debug调试版
-nomake 指定不编译输出的子文件夹
-skip 指定跳过编译的子模块
-opensource 表示编译开源版本,相对的是 -commercial ,表示编译商业版本
-confirm-license 表示确认许可协议
经过长时间的等待,在 prefix 构建目录下得到编译出来的QT头文件和库文件

静态编译(这里只是演示),重新编译建议删除整个源码目录并重新从压缩包解压,并重新指定或清除 prefix 构建库目录。静态库编译其他步骤与动态库编译相同,只需要修改configure命令中的 -shared 为 -static

configure -prefix “d:\qt5-s” -static -release -nomake examples -nomake tests -skip qtwebengine -opensource -confirm-license
nmake
nmake install
上边的出错,就用下边的这个
configure -confirm-license -opensource -static -qt-sqlite -qt-zlib -qt-libpng -qt-libjpeg -nomake tests -no-compile-examples -nomake examples

QT静态库的编译需要注意编译选项/MD 、 /MT要和开发项目中引用的其他库相匹配。如果要修改此编译选项,可以在QT源文件根目录下的 qtbase\mkspecs\common\msvc-desktop.conf 中修改

QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
QMAKE_CFLAGS_DEBUG      = -Zi -MDd

或者

QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG      = -Zi -MTd

8、QT子模块的编译
这里只演示编译QT中子模块qtbase(只需要这个模块就可以完成QT中最主要的GUI功能的开发),其编译与整个QT的编译大体相同,打开x86 Native Tools Command Prompt for VS 2022 Current,cd命令进入到QT源文件根目录,按行依次执行命令

configure -prefix “d:\qt5-qtbase” -shared -release -nomake examples -nomake tests -opensource -confirm-license
nmake module-qtbase
cd qtbase
nmake install

编译qtbase模块的时间会比整个QT少得多。qtbase静态库的编译同样也只需要修改 -shared 为 -static,这里不赘述。

编译成功后,添加到QtCreat

在这里插入图片描述
D:\QtStaticBuild-IDE\qt-everywhere-src-5.15.5\qtbase\bin

在这里插入图片描述

使用jom多线程编译Qt

jom多线程编译

windows下Qt5.15.2源码编译 windows Qt5.15.2 源码编译 阅读详情

相关推荐

QGIS在Windows下的编译实战——QGIS3.28.15 + Qt5.15.3 + CMake3.28.0 + VS2022 64位环境搭建指南

本文详细介绍了在Windows 10系统下编译QGIS 3.28.15的完整流程,包括Visual Studio 2022、Qt5.15.3和CMake3.28.0的环境配置与依赖管理。通过分步指南和常见问题解决方案,帮助开发者顺利完成QGIS的编译与调试工作,为地理信息系统开发提供实用参考。

weixin_28828243的博客 460

使用 VS 编译 QT 源码

编译环境 VS2017 / VS2019 perl python3 获取源码 为了方便,我们直接下载打包好的代码,在 https://mirrors.bfsu.edu.cn/qt/official_releases/qt/5.15/5.15.0/single/ 下载 qt-everywhere-src-5.15.0.zip 并解压到一个目录。我这里解压到了 D:/Project/qt-everywhere-src-5.15.0 这个目录。 理解 configure configure 简单来说是一个命

小幻的博客 2947

记录一下VS2022+Qt5.15.2+CMake3.23.2编译VTK 8.2.0套件的过程

在系统中安装好VS 2022,CMake 3.23.2,Qt5.15.2后. 键盘按住 Win+R,输入后回车.打开系统属性. 点击 高级-环境变量 打开环境变量后,找到系统变量-Path,双击打开. 打开编辑环境变量,点击新建,输入Qt的msvc编译器安装目录,例如: 将新建的Qt环境变量上移到第一位置下载链接:VTK官网下载界面 因为VTK官网最新的VTK-9.1.0版本没有支持QtDesigner的 找到Previous Release(8.2.0),点击VTK-8.2.0.zip和VTKData

面包不要的博客 5172

使用VS2022编译及运行QT项目

QT是一种版本的C++。我记得以前微软有VC,visual c++,是C++没错,但它又有一些自己的类库,比如可以拖控件,方便开发桌面软件。按我的理解,VC是C++的超集;同样,QT也是C++的超集。为啥要用QT呢?QT方便做界面,尤其是那种电气设备控制软件的界面,比如带仪表盘啥的。VC太out太难用了,就被QT取代了。

左直拳的马桶_日用桶 1万+

QGIS - #002 Windows下源码编译(VS2022)

Windows下源码编译(VS2022)

AlanL的专栏 1415

Windows平台QGIS源码编译实战:VS2022与CMake配置全解析

本文详细解析了在Windows平台使用VS2022和CMake编译QGIS源码的全过程,包括环境准备、源码获取、CMake配置、编译优化及依赖部署等关键步骤。通过实战经验分享,帮助开发者高效完成QGIS源码编译,提升GIS开发效率。

weixin_26905487的博客 376

Windows平台QGIS编译实战:从源码到可执行文件的完整构建指南

本文提供了一份在Windows平台上从源码编译QGIS的详细实战指南。文章基于Windows 10/11系统,详细讲解了使用Visual Studio 2022、Qt 5.15.3和CMake等工具,从环境配置、依赖安装、CMake调试到最终在VS中成功构建可执行文件的完整流程,旨在帮助GIS开发者和技术爱好者构建可用于深度定制和调试的QGIS版本。

x8y9z0的博客 548

qt5.12.0静态资源包/Visual Studio 2022 静态编译qt项目/静态与动态编译

qt5.12.0静态资源包,不支持directx 12版本.因为大部分window7版本以下会无法打开qt应用. 使用方法为: 1.打开最新版visualStudio。创建新工程不打开项目,选择安装qt-plugins.搜索 qt . 然后执行安装,根据提示重启VS 2.上述安装完毕后,点击创建新的qt- quick project ,名字任意,选择我们解压的qt版本. 3. 环境选择x86 ,release版本 4. 右键工程,在代码生成中选择 MT 5.完毕,运行成功。 qt quick应用静态编译和动态编译的区别。就是静态编译出来会将相关用到的qt核心依赖库随编译一起打包出来一个exe文件,无需引入qt core等dll。动态编译要手东windeoloy ,体积几百M,静态编译只需要10M不到

AFSIM 2.9.0 Windows编译全链路指南:CMake构建、Qt5.15.2集成与Runtime排错

AFSIM(Air Force Simulation)是一款面向空战仿真的高保真C++开源框架,其本质是SDK级源码分发系统,而非可直接安装的二进制软件。理解其‘必须编译’的设计逻辑,是掌握现代军事仿真工具链的关键起点。它依赖严格版本约束的第三方库(如Qt 5.15.2、OpenSSL 1.1.1t、Boost 1.75),构建过程由CMake主导,VS2022仅作为生成器执行沙盒。在Windows 10环境下,需绕过SmartScreen拦截、组策略PATH限制及长路径(MAX_PATH)限制等系统级障碍

weixin_28839601的博客 94

Unidbg逆向阿里系App签名:从环境补全到算法还原实战

在移动安全与协议分析领域,理解应用层签名机制是核心挑战之一。签名算法作为保障通信安全与身份验证的关键技术,其原理通常涉及哈希、加密及密钥协商等基础密码学概念。在Android平台,核心签名逻辑常被加固并隐藏于Native层SO库中,以对抗动态调试与静态分析,这为安全研究和协议兼容带来了技术障碍。Unidbg作为一种基于模拟执行的逆向工程工具,通过模拟ARM指令集和系统调用,允许研究者在脱离真机环境的情况下,可控地执行和调试SO文件,为解决此类问题提供了创新思路。其技术价值在于实现了对加固代码的确定性分析与算

weixin_42525738的博客 937

5G(NR)物理层面试问答

1.什么是参数集(Numerologies)? 答:在5G中由于其频段很宽,设置了不同的子载波带宽,另根据频段、循环前缀、帧结构等组成了参数集。 2.5G中的循环前缀有几种? 答:5G网络支持5种子载波间隔,有两种循环前缀(正常和扩展)。其中:参数集2,即子载波间隔60kHz支持常规循环前缀和扩展循环前缀。 3.5G无线网络在下行(DL)和上行(UL)均使用OFDM波形? 答:5G网络下行链路(DL)和上行链路(UL)使用的波形及处理见下图: 4.5G物理层帧和子帧是多长时间? 答:5G.

starts1990的博客 2377

Windows 10 Qt 5.15.x 源码编译

参考https://blog.csdn.net/qq_42987967/article/details/128620327要下载对应版本atl;注意:最开始安装的是最新版python3.13.1,但是显示找不到python,最后选择安装python2.7 编译通过。生成debug-and-release动态库;这是因为最开始 安装 “安装vs2019桌面开发套件”时没有安装ATL的原因,我的源码路径是:H:\\qt-everywhere-src-5.15.161。一定要记得安装ATL。

u013411873的博客 2557

手把手教你离线部署Jupyter Notebook及高效插件配置

本文详细介绍了如何在离线环境中部署Jupyter Notebook及配置高效插件,包括离线安装步骤、依赖管理、核心扩展安装及常见问题排查。特别针对金融、科研等封闭网络场景,提供完整的whls包和requirements.txt解决方案,帮助开发者和数据分析师突破网络限制,提升工作效率。

weixin_28839549的博客 583

QGIS在Windows下的编译——QGIS3.28.15 + Qt5.15.3 +CMake3.28.0 + VS2022 ---64位版本

QGIS在Windows下的编译——QGIS3.28.15 + Qt5.15.3 +CMake3.28.0 + VS2022 ---64位版本

Jisoo9527的博客 3942

四阶龙格库塔法求解一次常微分方程组(python实现)

之前在博客发布了关于使用四阶龙格库塔方法求解一次常微分方程组的文章,由于代码缺少具体的验证,部分朋友可能存在疑问,因此这里打算再重新写一篇博客来验证一下程序的正确性,另外,这里是使用python语言来实现的。

HelloWorldTM的博客 8542

Unreal从入门到精通之如何绘制用于VR的3DUI交互的手柄射线

之前我写过一篇文章《Unreal5从入门到精通之如何在VR中使用3DUI》,其中讲到使用WidgetComponent和3DUI进行交互。然而,这种方法存在一个问题:为了让射线可视化,我们需要勾选“调试/显示调试”,这样才能在手柄上看到代表其指向的一条红色射线。但最关键的问题是,这个显示调试信息的功能只属于Debug调试模式,也就是说,一旦将项目正式打包发布,这条射线辅助线就没有了。如下图所示:我就觉得Unreal官方真的是有点过分了,这不应该是最基本的功能么?难道我们VR要在Debug模式下发布?

TxNet 1612

VS2019编译 Qt5.15.12 和 Qt6.5.3

debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。-debug-and-release: 编译debug和release,如需只编译debug,那么-debug即可。编译完之后,执行jom install 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了。编译完之后,执行以下命令 即可安装到上述-prefix参数指定的位置,此时build文件夹就可以删掉了。在此目录下新建build目录,并cd进入build目录。

2113

题解:洛谷 P14357 [CSP-J 2025] 拼数

等知名刷题平台精心挑选而来,并结合各平台提供的算法标签和难度等级进行了系统分类。题目涵盖了从基础到进阶的多种算法和数据结构,旨在为不同阶段的编程学习者提供一条清晰、平稳的学习提升路径。小 R 想知道,在他所有能拼成的正整数中,最大的是多少。你需要帮助小 R 求出他能拼成的正整数的最大值。小 X 给了小 R 一个字符串。输出一行一个正整数,表示小 R 能拼成的正整数的最大值。中的任意多个数字,按任意顺序拼成一个正整数。,表示小 X 给小 R 的字符串。#普及-# #其他排序#洛谷:[P14357。

团爸讲算法 1394

Windows 11 Qt 5.15.x 源码编译,支持C++20

Qt 5.15.x 源码编译,支持C++20

u013411873的博客 2091

RT-DETR改进策略【Neck】| GFPN 超越BiFPN 通过跳层连接和跨尺度连接改进RT-DETR颈部网络

本文记录的是利用颈部结构优化RT-DETR的目标检测网络模型。利用改进后的颈部网络,通过跳层连接,避免了在进行反向传播时的梯度消失问题,并且引入跨尺度连接,可以实现不同级别和层次的特征充分融合,获取足够的高层语义信息和低层空间信息交换,从而在大规模变化场景下提高检测性能。GIRAFFEDET: A HEAVY-NECK PARADIGM FOR OBJECT DETECTION-GFPN包含了上述的跳层连接(dense-link和log2nlog _{2} nlog2​n-link)以及跨尺度连接(Quee

Limiiiing的博客 2228

39、信号流图:解决线性代数方程组的图论方法

本文介绍了信号流图理论在求解线性代数方程组中的应用,重点阐述了Coates方法和Mason方法的原理、步骤及对比分析。通过图论视角,将矩阵运算转化为对有向图结构的分析,利用1-因子、1-阶连接、前向路径和反馈回路等概念,推导出方程组解的拓扑公式。文章结合具体实例演示两种方法的计算过程,并总结其在电路分析、控制系统和通信系统等领域的拓展应用,展示了信号流图理论的直观性与有效性。

pear55的博客 87

Qt 静态编译(5.15.2 MinGW 32-bit)

Qt用久了,静态编译是一个绕不过去的坎,Qt官方不提供静态编译版本的安装包,如果我们在项目后期需要多项目进行优化的话,那肯定是要尝试静态编译程序的,那就需要我们对Qt进行静态编译。

DreamLife&Yaothos 7461

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

如何在Windows环境下编译QT-5.15.17版本

《QT5.15.17源码编译经验分享》 作者详细记录了在Windows平台编译QT5.15.17源码的全过程。首先需要安装VS2022、Python3和Perl并配置环境变量;其次从QT官网下载源码;最后通过VS命令行工具进行编译配置(跳过webengine等非必要组件,采用C++11标准)。重点提示:必须使用vcvarsall.bat初始化x64环境,配置时选择同时生成debug/release版本。整个编译过程耗时两天,经历多次失败后才成功,文中分享了关键配置参数和避坑要点,为开发者提供了实用参考。

cyfgod的专栏 1852

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Windows平台编译Qt5.15.12、6.5.3过程记录

当然如果想纯自己写CMakeLists.txt也没有任何问题,指定好Qt的目录,让cmake能够找得到即可。可以仔细阅读README.md部分关于编译的部分,配合我自己封装的cmake子仓库使用挺方便的。CMakeLists.txt参照kmshare项目中的写法即可。上述五条命令均可以正常执行即可。

qq_53586017的博客 3818

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Win10 VS2022编译Qt5.15

工厂古老的工程师站,只能沿用安装的Win7系统,要运行数据采集软件,只好再建一个qt5版本的项目。从国内大学镜像站下载qt5.15.19源代码(如:https://mirrors.nju.edu.cn/qt/archive/qt/5.15/),没有Cmake,只能用 x64 Native Tools Command Prompt for VS 2022 命令行工具。注意:要到目录寻找版本。

风之羽 278

Qt源码编译和调试

因为有时候qt版本很老,目前已知的一些镜像或者相关网站下载不到qt的pdb文件,导致无法在调试中断点到qt源码中,这时候可以考虑编译qt源码,这里记录一下相关操作。

sinat_39426759的博客 2146
上一篇: ubuntu nginx服务器安装SSL证书
下一篇: Ubuntu下编译Qt5.14源码
xiaobai_cpp
博客等级 码龄9年 264粉丝 94原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值