Qt5源码编译-Windows平台

Qt源码编译 本篇文档主要是针对在Linux环境下对Qt 5.7.0源码编译过程中遇到的问题及解决办法的总结,其中已适配成功的操作系统有:麒麟3.0、凝思6.0.60、redhat 5.6等。提示:以下是本篇文章正文内容,下面案例可供参考以上就是在Liunx环境下对Qt 5.7.0源码编译过程中遇到的问题及解决方法的总结,希望对各位提供一点帮助! 阅读详情

Qt5源码编译-Windows平台

本文将介绍在 Windows 11 系统上使用 Visual Studio 2022 编译 Qt 5.15.17 源码的整个过程。

环境准备

在开始编译之前,请确保你已经安装并配置好以下软件和工具:

  • Visual Studio 2022编译器: 安装时请确保勾选 “使用 C++ 的桌面开发” 工作负荷。

  • VS2022安装

  • Qt源码: 从 Qt 官方归档下载源码压缩包Qt5.15.17,下载源码压缩包后并解压到一个不包含中文和空格的路径下
    Qt源码

  • Clang工具: libclang 用于编译Qt文档模块。

  • python2.7 QtWebEngine 模块需要 Python 2.7 版本,请从 Python 官网下载并安装。

  • Perl 推荐使用 Strawberry Perl

  • OpenSSL 从 OpenSSL 官网下载并编译安装 OpenSSL v1.1.1系列的版本,例如 Win64 OpenSSL v1.1.1w。具体可参考本博客中SSL编译教程

  • Node.js 推荐12及以后版本可以从 Node.js 官网下载

配置环境变量

为了让编译脚本能够找到所需的工具,你需要将以下目录添加到系统的 PATH 环境变量中:

  • python、Perl、Node.js工具安装时注意勾选添加到环境变量

  • libclang工具下载解压后,将其bin目录加入到系统环境变量中。

  • ANGLE 依赖于 GnuWin32 和 Win flex-bison 项目中的以下额外工具,这些工具位于qt源码中 gnuwin32/bin 文件夹中,我们需要将其加入到环境变量中:
    路径配置
    环境变量
    注意:请根据你的实际安装路径进行调整。

编译Qt源码

SSL配置

如果您自行编译 Qt,可以通过设置 -openssl / -openssl-runtime 或 -openssl-linked 配置标志来配置 Qt 使用 OpenSSL 的方式。

如果在常规编译器包含目录和库目录中未找到 OpenSSL,可以设置 OPENSSL_PREFIX、OPENSSL_INCDIR 和 OPENSSL_LIBDIR 配置参数。如果设置了 OPENSSL_PREFIX,则 OPENSSL_INCDIR 默认为 OPENSSL_PREFIX/include,OPENSSL_LIBDIR 默认为 OPENSSL_PREFIX/lib。

可以通过设置 OPENSSL_LIBS、OPENSSL_LIBS_DEBUG 和 OPENSSL_LIBS_RELEASE 配置参数来调整实际要链接的库。

  1. 要在运行时加载 OpenSSL,请设置 -openssl-runtime 配置参数。 Qt 会尝试在编译器的默认包含路径中查找 openssl/ssl.h 和 openssl/opensslv.h。您可以通过设置 OPENSSL_INCDIR 来指定额外的包含目录。
    这种方法在后期使用与编译自己开发的软件中,如果使用到网络模块,没有在软件中引入ssl相关动态链接库,软件依然可以正常启动。
configure -openssl-runtime OPENSSL_INCDIR="C:\Program Files\OpenSSL-Win64\include"
  1. 要将 Qt Network 与 OpenSSL 库链接,请设置 -openssl-linked 配置参数。使用 OPENSSL_PREFIX 变量可以让 Qt 正确定位并根据你的 OpenSSL 安装进行构建:
    这种方法在后期使用与编译自己开发的软件中,如果使用到网络模块,没有在软件中引入ssl相关动态链接库,软件依然无法正常启动,必须将ssl相关链接库复制粘贴到项目的编译目录中。
configure -openssl-linked OPENSSL_PREFIX="C:\Program Files\OpenSSL-Win64"
  1. 要将 Qt Network 链接到 OpenSSL 库的静态版本,请设置 -openssl-linked 参数,并设置 OPENSSL_PREFIX、OPENSSL_INCDIR 和 OPENSSL_LIBDIR。此外,您可能需要设置 OPENSSL_LIBS、OPENSSL_LIBS_DEBUG 和 OPENSSL_LIBS_RELEASE 配置参数,以便 Qt 能够正确链接到您构建的 OpenSSL 库的静态版本。
set OPENSSL_DIR=C:\Program Files\OpenSSL-Win64
configure -openssl-linked OPENSSL_INCDIR="%OPENSSL_DIR%\include" OPENSSL_LIBDIR="%OPENSSL_DIR%\lib\VC\static" OPENSSL_LIBS="-lWs2_32 -lGdi32 -lAdvapi32 -lCrypt32 -lUser32" OPENSSL_LIBS_DEBUG="-llibssl64MDd -llibcrypto64MDd" OPENSSL_LIBS_RELEASE="-llibssl64MD -llibcrypto64MD"

在确定好ssl的链接方式后可以正式开始编译qt源码,本文采用第一种方式进行编译。

  1. 打开命令行工具

在Windows搜索中找到X64 Native Tools Command Prompt for VS2022
vs2022命令行
2. 切换到qt源码目录
命令行
3. 配置编译选项

使用 configure 命令配置编译选项。以下是一个推荐的配置示例:

.\configure.bat -prefix "D:\Qt\Qt5.15.17" -shared -confirm-license -opensource -debug-and-release -optimized-tools -sql-sqlite -qt-sqlite  -qt-zlib -qt-libpng -qt-libjpeg -qt-tiff -qt-webp -platform win32-msvc -openssl-runtime OPENSSL_INCDIR="E:\openssl\include" -mp -recheck-all

常用配置选项说明:

  • -prefix “D:\Qt\Qt5.15.17”:指定 Qt 的安装目录。
  • -debug-and-release:同时编译 Debug 和 Release 版本的库。
  • -opensource:使用开源版本的 Qt。
  • -confirm-license:自动确认许可协议。
  • -shared:编译为动态链接库(DLL)。如果需要静态库,请使用 -static。
  • -platform win32-msvc:指定目标平台和编译器。
  • -nomake examples:不编译示例。
  • -nomake tests:不编译测试。
  • -skip qtwebengine:跳过 QtWebEngine 模块的编译。
  • -openssl-runtime “OPENSSL_INCDIR=D:\openssl\include” “OPENSSL_LIBDIR=D:\openssl\lib”:指定 OpenSSL的头文件和库文件路径。
  1. 执行编译源码
nmake

注意:编译过程会花费较长时间,请耐心等待。

  1. 安装Qt
nmake install
  1. 编译Qt文档
nmake docs
  1. 安装Qt文档
nmake install_docs

参考链接

libclang编译qt文档模块版本问题

Qt官方编译教程-编译命令

Qt官方编译教程-环境配置

Qt官方编译教程-Web模块

qt5 7zip源码编译及使用(含展示进度) qt5 vs2017 windows10 7zip编译使用介绍。目的是可以压缩解压文件,并能检测到进度和异常信息。 阅读详情

相关推荐

windows下Qt5.15.2源码编译

windows Qt5.15.2 源码编译

sinat_32200043的博客 4074

Qt 源码编译

1、背景 2、修改qmake.conf文件 3、根据configure的选项,将编译选项设置用脚本罗列出来 ./configure --help,将所有的configure的选项都罗列出来 3.1顶层安装目录 -prefix 部署目录,make install的部署目录,若未指定则默认在/usr/local/Qt-$QT_VERSION -extprefix 安装目录,若未指定,则默认安装SYSROOT/PREFIX -hostprefix 主机上运行的构建工具安装目录,,若未指定

zhejfl的博客 1万+

Windows平台下Qt 5.15 LTS源码编译实战:从环境搭建到模块定制

本文详细介绍了在Windows平台下手动编译Qt 5.15 LTS源码的完整流程,从环境搭建到模块定制。通过MSYS2配置、源码获取、核心编译流程及问题排查,帮助开发者高效完成Qt源码编译,实现模块裁剪和性能优化,适用于定制化开发需求。

weixin_31321361的博客 384

QT源码编译

Qt源码编译及子模块编译方法

chenyijun的专栏 6448

obs源码 windows编译

本文章主要记录obs源码在windows平台的编译过程,详细记录每个细节。 obs源码编译 一、编译环境 1、Qt5 2、CEF Wrapper 3770 3、windows版本 CMake 4、Windows版本 Git 5、Visual Studio 2019 6、vs2019开发工具包 二、源码编译 1、源码下载 2、创建输出目录 3、配置CMake选项 三、obs sln项目编译

隔壁老王呀的专栏 3335

ming window 交叉编译_Windows平台交叉编译Arm Linux平台的QT5.7库

1、准备交叉编译环境环境说明:Windows 7 64位此过程需要:(1)Qt库开源代码,我使用的是5.7.0版本;(2)Perl语言环境5.12版本以上;(3)Python语言环境 2.7 版本以上;(4)Windows平台上的MinGW开发工具集(内含本地编译器gcc、g++ 4.9以上版本,支持c++11);(5)Windows平台上的交叉编译器arm-linux-gnueabihf(gcc...

weixin_30043179的博客 1371

Windows平台下基于QT5.12的QGroundControl源码编译全攻略

本文详细介绍了在Windows平台下基于QT5.12编译QGroundControl开源地面站软件的完整流程。从环境配置、源码获取(包括关键的git submodule操作)、Qt安装、Visual Studio构建工具搭配,到使用Qt Creator进行项目导入、构建及常见编译错误的解决方案,提供了全面的实战指南,旨在帮助无人机开发者和爱好者搭建自定义开发环境。

vscode6remote的博客 244

在windows平台下,编译QT5.15.x源码

本文介绍了在Windows平台下编译QT5.15.2源码的完整流程

Octo-Triger的专栏 450

Windows/Linux(命令、安装包和源码安装)平台各个版本QT详细安装教程

本文章主要介绍了Windows/Linux平台Qt4,Qt5和Qt6的安装步骤,在Linux平台又提供了命令安装、源码安装和安装包安装三种方式。

new9232的博客 6128

Qt 5.3.1编译Telegram Desktop:环境配置与常见问题详解

开源软件的源码编译是开发者定制和深入理解项目的重要途径,而编译环境的一致性直接决定了成败。在Windows平台上,利用Qt框架构建应用程序时,需要面对编译器版本、依赖库版本、SDK等复杂匹配问题。针对Telegram Desktop这一经典项目,使用较旧的Qt 5.3.1版本在Visual Studio 2013环境下编译,能够帮助技术人员应对老设备适配、源码定制等实际需求。本文以该场景为例,系统梳理从环境准备、依赖处理、编译步骤到运行排错的完整链路,重点分析OpenSSL版本对齐、平台插件缺失、Debug

weixin_31766003的博客 323

DDR的Controller、Channel、Chip、Rank、Bank、Row、Column、Sided、Dimm

DDR的Controller、Channel、Chip、Bank、Rank、Row、Column、Sided、Dimm

张飞online博客 2万+

从源码构建Ring:Windows、Linux与macOS平台编译指南

Ring是一款简单灵活的应用开发编程语言,本指南将帮助你在Windows、Linux和macOS三大主流平台上从源码编译安装Ring,让你快速体验这款强大语言的魅力。 ## 📋 准备工作:获取源码与环境配置 在开始编译前,需要先准备好源码和基础开发环境。这是所有平台通用的第一步,确保后续编译过程顺利进行。 ### 克隆源码仓库 首先通过Git克隆Ring的源码仓库到本地: ```bas

gitblog_01064的博客 672

一口气看完TransformerXL详细解释带代码一:相对位置编码

相对位置编码(Relative Position Encoding)是Transformer模型中用于捕捉序列元素间相对位置关系的一种方法,与绝对位置编码(如BERT中的固定位置嵌入)不同,它直接建模元素之间的相对距离,从而更灵活地处理长序列或不同长度的序列。1. 为什么需要相对位置编码?​。

m0_73426548的博客 1427

Qt5.10.1在Windows平台下进行静态编译

本文最后更新于2018-6-20,可能会因为没有更新而失效。如已失效或需要修正,请联系我! Qt静态编译的最大好处就是可以直接产生能够不依靠多余的dll运行的exe文件, 而且exe文件会比动态编译的要小上很多。 1.下载源码 静态编译的第一步是下载QT的源码,根据你要编译的版本选择QT的版本进行下载。 我要编译5.10.1版本,所以我在http://download.qt.io/archive/...

个人博客 3535

数学建模常用模型10 :数据包络(DEA)分析法(投入产出法)

数据包络分析是评价多输入指标和多输出指标的较为有效的方法,将投入与产出进行比较。它的结果包含的意思有: ①θ=1,DEA有效,表示投入与产出比达到最优 ②θ<1,非DEA有效,表示投入与产出比没有达到最优,一般来说,θ越大说明效果越好。 数据包络分析是通过对投入的指标和产出的指标做了一个线性规划,并且进行变换后,然后根据其线性规划的对偶问题(线性规划对偶问题具有经济学意义),求解这个对...

HaLosec_Wei 9万+

eDP/DP接口简介

目前,在视频传输协议以及接口领域,外部接口主要是DP与HDMI两分天下,当然之前出现过很多接口-VGA, DVI等等,最新平台基本以这两个为主;笔记本内部接口就基本上使用eDP((Embedded Display Port))作为标准接口来驱动液晶屏了。那么问题来了,eDP和DP,是完全兼容的么?eDP,DP,HDMI,这三种接口的显示器,可以插在同一个接口上使用么?这篇文章,就会从硬件和一部分协议的角度分析一下这三大协议。

weixin_50518899的博客 2万+

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

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

qq_53586017的博客 3822

【数据集】1970-2023年全球温室气体排放 GHG 数据集 EDGAR

1970-2023年全球温室气体排放 GHG 数据集 EDGAR

WW、forever的博客 1175

windows下Qt13源码编译-QtCreator配置linux arm交叉编译环境

Windows下在Qt Creator4.9.1环境下配置Qt5.13.0的交叉编译环境以编译出petelinux可以使用的Qt程序(arm架构的 平台下也可以使用),以编译64bit编译环境为例说明 参考资料: https://blog.youkuaiyun.com/botao_li/article/details/86712517 https://www.cnblogs.com/qinwanlin/p/6...

hanxv_1987的专栏 9005

Allegro如何把分离的线段变成封闭连续的图形

Allegeo支持把分离的线段变成封闭连续的图形,以下图为例,线段是分离的。Allegro如何把分离的线段变成封闭连续的图形。Find选择other segs 和Lines。Find选择other segs 和Lines。选择shape-compose shape。分离线段已经是连续封闭的shape形式了。框选图形,删除剩下的无用的分离线段。Find选择shapes。鼠标右击选择done。选择delete命令。鼠标右击选择done。

weixin_54787054的博客 6244

深入理解SQL注入中的union select 1,2,3....

UNION 用于合并两个查询的结果集

渗透之路,攻防之间皆学问 2万+

windows平台QT静态编译链接openssl配置过程

qt 5.15 ,官方不再对开源版本提供编译好的安装文件了,需要自己编译QT,既然需要自己编译,那就索性搞个静态编译的版本,这里先记录一下如何编译配置openssl进行静态编译连接。 1.openssl版本 qt 5.15 对openssl 1.1.x版本不支持,需要下载openssl 3.0使用,下载地址: https://github.com/openssl/openssl/releases 2.下载编译openssl要用到的工具 windows平台x86机器要编译openssl,需要..

程序员记事本 2078

79-Halcon-- visualize_object_model_3d 函数功能(交互式3D可视化)

该算子是连接3D数据与决策者的关键可视化桥梁,通过其独特的交互能力和高质量的渲染效果,将复杂的3D信息转化为直观的可视内容,大幅提升工程决策效率和质量。操作符,不仅能在窗口中渲染3D对象,还支持多种交互操作,适用于调试、展示和交互分析场景。本解析将全面探讨其参数功能及工业级应用方案。+几何类型: PointCloud/ TriMesh/CAD。+法线属性: [NX,NY,NZ]+附加数据: Attributes。是Halcon中功能强大的。+顶点属性: [X,Y,Z]+颜色属性: [R,G,B]

weixin_45590420的博客 1206

QtScrcpy Windows 10 平台源码编译教程

本文详细介绍了在Windows 10系统下编译QtScrcpy项目所需的环境配置和完整步骤。主要内容包括:1)系统要求(Visual Studio 2022、CMake 4.0.0+、Qt 5.14.2);2)各软件的下载安装与验证方法;3)源码获取方式;4)使用CMake GUI和Visual Studio的编译流程;5)常见问题解决方案。重点强调了Qt版本匹配、环境变量配置等关键环节,并提供了详细的截图指导,帮助开发者顺利完成项目编译工作。

itgather的博客 1684

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Qt windows 64位 安装

1. Qt官网下载安装包 http://download.qt.io/archive/qt/ 在Qt5.8.0以后的版本中,Windows平台下的Qt已经没有了独立的64位安装包,它们都以组件的形式被集成在了同一个exe里。 我下的是 5.13.2版本 选择exe文件保存到本地 2. 安装 打开安装包,按提示进行。 选择组件时需要注意 可安装的组件列表,有不同类型编译器、不同位数的组件库。由...

knaha的博客 1万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

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目录。

2115

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

上一篇: Linux系统创建虚拟CAN模拟通信
下一篇: Weston桌面系统截屏
二月上
博客等级 码龄2年 48粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值