2025年Pem文件在线(pem后缀文件)

Pem文件在线(pem后缀文件)因项目需要 客户需要一个单独的 exe 程序 被迫自己静态编译一版 qt 本次需求只是需要使用 widget qml network 需要 openssl 模块 其他模块只是顺带编译 所以本文档仅供有需要的小伙伴参考 若需要特定模块 请自行搭建相关编译环境 Qt 官方提供动态库开发环境

大家好,我是讯享网,很高兴认识大家。



因项目需要,客户需要一个单独的exe程序,被迫自己静态编译一版qt

本次需求只是需要使用widget、qml、network(需要openssl)模块,其他模块只是顺带编译,所以本文档仅供有需要的小伙伴参考,若需要特定模块,请自行搭建相关编译环境

Qt官方提供动态库开发环境,可以直接在线下载(Qt5.15开始,开源用户不再提供离线安装包),发布时,有一堆动态库

若直接使用静态编译,可以把所有库都放到一个exe程序中,不再依赖其他动态库或插件。但一般静态编译不包括编译器的运行时,在未安装msvc的电脑上,需要先安装微软VC++运行库合集(可通过360软件库直接下载)

所以本次考虑,直接将编译器的运行时,直接加入,到时只有一个exe程序即可运行

注:这样做,可能导致无法正常加载一般的第三方库,需要使用同一编译器编译带运行时的第三方库

1.msys

网上安装教程比较多,就不再重复了,需要安装flex和bison

命令如下(时间所限,未验证)

 

讯享网

2.vs2019

笔者使用的是社区版,这个就不重复了,记得选择C++开发环境

3.openssl

参考下笔者的文档

编译OpenSSL库(win10+msvc2022_x64)-CSDN博客

需要使用带运行时的openssl3.3静态库

4.python

笔者安装的是python3.10的版本(编译qml相关,需要)

5.ninja

笔者使用的是Qt在线安装包里的

6.cmake

笔者使用的是Qt在线安装包里的,版本号3.29.3

7.perl

笔者直接使用360软件管家下载的ActivePerl 64位(不清楚是否需要,先加上了)

8.Ruby

笔者直接使用360软件管家下载的Ruby(不清楚是否需要,先加上了)

https://download.qt.io/archive/qt/6.6/6.6.3/single/qt-everywhere-src-6.6.3.zip

1.将源码解压到一目录中,注意目录不要出现空格或中文,目录名也不要太长

笔者解压到了G:Qt6.6.3Srcqt-everywhere-src-6.6.3

2.修改编译配置文件

打开{qt_source_dir}qtbasemkspecscommonmsvc-desktop.conf

笔者对应目录为G:Qt6.6.3Srcqt-everywhere-src-6.6.3qtbasemkspecscommonmsvc-desktop.conf

使用文本编译器打开查找-MD,全部替换成-MT,笔者修改后如下


讯享网

3.打开vs2019的控制台

切换到源码目录,笔者的目录如下

讯享网

4.配置环境变量

执行以下指令

 

 以上是笔者配置的环境变量,需要根据自己的实际情况配置下

笔者是直接在控制台窗口中进行的,也可以直接配置到系统的环境变量中

5.配置qt源码

建议使用影响编译,这样不会污染源码目录

笔者执行的命令如下:

讯享网

部分配置选项解释:

-static

启用静态编译

-static-runtime

启用静态运行时

-prefix "D:Qt6.6.3msvc2019_64_static"

预设安装目录

-confirm-license -opensource

是开源的

-debug-and-release

同时编译debug库和release库

-platform win32-msvc

使用msvc编译

-opengl dynamic 动态链接opengl库

-openssl-linked

直接链接openssl库编译(推荐)

若是需要进一步配置Qt源码,可以使用控制台打开cmake-gui.exe,直接打开编译目录

配置完成后,点击配置,会出现配置结果列表,笔者比较关心的是openssl是否已启用

确认无误后,直接点击生成

6.编译Qt源码

直接执行如下命令:

 

注:网上有说,开启多线程编译,有时会因编译的先后顺序不对,导致中止编译,只要重新执行下命令就可以继续编译

7.安装Qt

直接执行如下 命令

讯享网

 笔者已经编译好的Qt6.6.3静态库(静态运行时),比较大,就形成了两个包

 

参考资料:

Building Qt Sources | Qt 6.9

Qt for Windows - Building from Source | Qt 6.9

Qt Configure Options | Qt 6.9

声明:因笔者本次编译时间过紧,并未进行全部验证

小讯
上一篇 2025-06-17 08:59
下一篇 2025-04-28 22:25

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/138449.html