v5.0.0-rc.2
Pre-release
Pre-release
此预发布版本在 v5.0.0-rc.1 的基础上,进一步推进了独立的 Windows x64 C++ 重写版。它在 Visual Studio 2026 的 GitHub 运行器上进行构建和测试,并在继续进行稳定版 v5 行为一致性对齐工作的同时,保留 PowerShell 实现作为传统和默认的安装路径。
自 rc.1 以来的变更
- 现已在支持 C++ 源文件的基础上,新增对原生 C
.c翻译单元的支持 - C 语言发现机制是语言隔离的:诸如
module、import和export等合法的 C 标识符不会进入 C++ 模块管线 - 通过
--runtime MD|MDd|MT|MTd以及兼容旧版的-runtime实现强类型的 MSVC 运行时选择 - 通过
--subsystem console|windows以及兼容旧版的-subsystem实现强类型的可执行子系统选择 - 严格的
mqb.jsonv1 现已支持build.runtime和build.subsystem - 运行时变更将参与编译身份的计算,并强制进行所需的下游链接;仅限子系统的变更会使链接身份失效,但无需重新编译新鲜的翻译单元
- 运行时策略仍由后端接管,因此存在冲突的原始编译器参数无法覆盖强类型的运行时选项
现有的 C++ RC 功能
- 新的 CLI 路径为独立的且无 PowerShell 运行时依赖的原生
mqb.exe - 自动发现 Visual Studio 或便携版 MSVC
- 单入口智能源文件发现与显式的多源文件目标
- 位于
.mqb/目录下的增量编译与链接缓存 - 通过
--jobs实现有界并行扫描与编译 - 通过
mqb.json进行严格的项目配置 - 项目本地命名模块,包括提供者发现和分区
- 项目本地头文件单元,支持 P1689 拓扑结构、生成 IFC、新鲜度检查与重构建传播,以及缺失 IFC 修复
- 结构化的
--run参数以及库、包含目录、宏定义和原始构建策略选项 - 测试套件中实现了基于已安装 MSVC 的真实冷启动、热启动、变异与修复覆盖率测试
安装此 RC 版本
- 从此预发布页面下载
vscode-msvc-quick-build-v5.0.0-rc.2-windows-x64.zip及其.sha256文件。 - 校验 SHA-256 校验和,解压压缩包,并将其所在目录添加到
PATH环境变量中。 - 运行
mqb --help;第一行输出必须为MQB 5.0.0-rc.2 - MSVC Quick Build (C++ refactor)。 - 在项目目录中,尝试运行
mqb main.cpp --run或mqb main.c --run。
打包的可执行文件使用静态 MSVC 运行时,因此该 RC 版本无需单独安装 Visual C++ 运行库。
RC 版本范围限制
此版本依然是发布候选版本,并非最终的 PowerShell 到 C++ 的切换版本。仓库现有的 build.ps1、install.bat 以及 PowerShell 配置文件仍是传统且默认的安装路径。
DLL 和静态库目标类型不包含在 rc.2 中。DLL 目标路由的相关工作在单独继续进行中,而静态库需要专用的 lib.exe 或库管理器管线,而不是假装它们是链接器目标。
外部和预构建的命名模块提供者以及 import std 也有意保持不受支持及作报错拦截处理。稳定的 v5 版本仍需要完成显式的行为一致性对齐、安装程序与默认命令的切换,以及追踪在 issue #26 中的稳定发布工程关卡。
如果在原生 C++ CLI 意图支持的工作流中,此 RC 版本的构建行为与传统的 PowerShell 行为出现差异,请向我们报告并提供一个最小复现示例。