2024年记一次Mingw64-13.2.0编译Qt6.6.3,包含文档编译。

My C++ Development.

前言:不包含qtwebengine

一、准备文件

(1)mingw64-13.2.0

下载链接:ucrt64_13.2_ucrt_posix_rev6_msys2.7z【蓝奏云】。

在这里插入图片描述

(2)qt6.6.3源码

下载链接:Download QT 6.6.3,我这里下载的是:qt-everywhere-src-6.6.3.zip

(3)LLVM 18.1.5,编译文档用。

不编译文档,跳过该文章相关部分就行。

下载链接:LLVM 18.1.5,我这里下载的是:llvmorg-18.1.5.zip

(4)Python

如果你已有Python,貌似只要是Python3就行,但是请确保路径无空格和中文

下载链接:python-3.11.9-amd64.exe,安装时请避免使用带空格和中文的路径。

或者你的系统有scoop包管理,可以使用:

scoop install python

(5)Ninja 和 CMake

下载链接:ninja-win.zip,将解压后的exe目录添加到PATH环境变量。

或者你的系统有scoop包管理,可以使用:

scoop install ninja cmake

二、开始编译

2.1 检查环境

打开一个cmd窗口,请确保在这个窗口中可以执行,pythonninjag++cmake指令。

2.2 编译 LLVM(llvm和clang模块就行)

先编译llvm再编译clang

新建两个文件夹(叫什么和在哪里都随便,别含中文路径和空格路径),然后打开cmake-gui,用命令行也可以,但是用gui方便查看库的一些定义啥的,也方便修改这些定义。

在这里插入图片描述
上下两行这样填写,第一行是源码目录,第二行是生成的工程位置,就是上面我们自己创建的:

在这里插入图片描述
然后点击界面左下侧的Configure按钮,首次可能会报错,说没有填写CMAKE_BUILD_TYPE,手动填上Release,然后在CMAKE_INSTALL_PREFIX一栏填写稍后编译完成后的安装目录,推荐自己创建一个,我这里是:

在这里插入图片描述
填写好以后,点击Generate按钮,应该就可以成功生成工程项目了。打开一个cmd窗口,进入到你的工程中。

在这里插入图片描述
后面的-j8不推荐填太大,我当时直接使用cmake --build . --parallel,直接32G内存干爆了。

编译完成后使用mingw32-make.exe install安装到上面配置的安装目录中。

然后编译clang,方法与上面一样,配置CMAKE_BUILD_TYPEReleaseCMAKE_INSTALL_PREFIX一栏填写稍后编译完成后的安装目录,我填写的是:D:\llvm-18.1.5\clang-build,其实两个工程的安装目录填一样(我第一次搞怕不行,分开两个)就行

llvm稍有不同的是,除了配置上面两个变量还需要填写一个LLVM_BINARY_DIR,就是你上面安装的llvm目录,我这里是:D:\llvm-18.1.5\llvm-build

在这里插入图片描述
然后这里添加一个BOOL类型的EntryName填:LLVM_INCLUDE_TESTS,不勾选,确定,然后Generate就行。与上面llvm一样,
打开一个cmd窗口,进入到clang的工程目录,我这里是:D:\llvm-18.1.5\llvm-project-llvmorg-18.1.5\mybuildclang,然后执行,mingw32-make.exe -j8,完成后mingw32-make.exe install。最后将两个安装目录的内容拷贝到一起,并将目录改为libclang,如下图:

在这里插入图片描述

2.3 编译 qt6

解压源码,cmd进入到源码中:

在这里插入图片描述
配置,下面是cmd配置,我截图用的powershell(记录该文章才截的图,懒得换图了),powershell用的是$env的形式,用powershell的自己研究吧。

set PATH=%PATH%;D:\mingw-qt6\libclang\bin
set LLVM_INSTALL_DIR=D:\mingw-qt6\libclang

然后执行:

configure.bat -platform win32-g++ -debug-and-release -confirm-license -opensource -prefix D:\mingw-qt6\qt6-build -skip qtwebengine -nomake tests

其中D:\mingw-qt6\qt6-build是最后编译完成后的安装目录。

执行:

cmake --build . --parallel

构建完成后安装:

ninja install

构建文档,貌似会遇到复制报错的Error,手动把报错目标位置的目录删除再重新执行就行了:

ninja docs

在这里插入图片描述

ninja docs命令执行完成后,生成的文档在源码的doc目录下:

在这里插入图片描述
最后将doc文件夹复制到安装目录下,一个完整的不含qtwebengine模块(貌似mingw64不支持?)的qt6就完成了。

在这里插入图片描述

  • 9
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值