Skip to content

v5.0.0-rc.2

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 11 Aug 09:01
47f88d7

此预发布版本在 v5.0.0-rc.1 的基础上,进一步推进了独立的 Windows x64 C++ 重写版。它在 Visual Studio 2026 的 GitHub 运行器上进行构建和测试,并在继续进行稳定版 v5 行为一致性对齐工作的同时,保留 PowerShell 实现作为传统和默认的安装路径。

自 rc.1 以来的变更

  • 现已在支持 C++ 源文件的基础上,新增对原生 C .c 翻译单元的支持
  • C 语言发现机制是语言隔离的:诸如 moduleimportexport 等合法的 C 标识符不会进入 C++ 模块管线
  • 通过 --runtime MD|MDd|MT|MTd 以及兼容旧版的 -runtime 实现强类型的 MSVC 运行时选择
  • 通过 --subsystem console|windows 以及兼容旧版的 -subsystem 实现强类型的可执行子系统选择
  • 严格的 mqb.json v1 现已支持 build.runtimebuild.subsystem
  • 运行时变更将参与编译身份的计算,并强制进行所需的下游链接;仅限子系统的变更会使链接身份失效,但无需重新编译新鲜的翻译单元
  • 运行时策略仍由后端接管,因此存在冲突的原始编译器参数无法覆盖强类型的运行时选项

现有的 C++ RC 功能

  • 新的 CLI 路径为独立的且无 PowerShell 运行时依赖的原生 mqb.exe
  • 自动发现 Visual Studio 或便携版 MSVC
  • 单入口智能源文件发现与显式的多源文件目标
  • 位于 .mqb/ 目录下的增量编译与链接缓存
  • 通过 --jobs 实现有界并行扫描与编译
  • 通过 mqb.json 进行严格的项目配置
  • 项目本地命名模块,包括提供者发现和分区
  • 项目本地头文件单元,支持 P1689 拓扑结构、生成 IFC、新鲜度检查与重构建传播,以及缺失 IFC 修复
  • 结构化的 --run 参数以及库、包含目录、宏定义和原始构建策略选项
  • 测试套件中实现了基于已安装 MSVC 的真实冷启动、热启动、变异与修复覆盖率测试

安装此 RC 版本

  1. 从此预发布页面下载 vscode-msvc-quick-build-v5.0.0-rc.2-windows-x64.zip 及其 .sha256 文件。
  2. 校验 SHA-256 校验和,解压压缩包,并将其所在目录添加到 PATH 环境变量中。
  3. 运行 mqb --help;第一行输出必须为 MQB 5.0.0-rc.2 - MSVC Quick Build (C++ refactor)
  4. 在项目目录中,尝试运行 mqb main.cpp --runmqb main.c --run

打包的可执行文件使用静态 MSVC 运行时,因此该 RC 版本无需单独安装 Visual C++ 运行库。

RC 版本范围限制

此版本依然是发布候选版本,并非最终的 PowerShell 到 C++ 的切换版本。仓库现有的 build.ps1install.bat 以及 PowerShell 配置文件仍是传统且默认的安装路径。

DLL 和静态库目标类型不包含在 rc.2 中。DLL 目标路由的相关工作在单独继续进行中,而静态库需要专用的 lib.exe 或库管理器管线,而不是假装它们是链接器目标。

外部和预构建的命名模块提供者以及 import std 也有意保持不受支持及作报错拦截处理。稳定的 v5 版本仍需要完成显式的行为一致性对齐、安装程序与默认命令的切换,以及追踪在 issue #26 中的稳定发布工程关卡。

如果在原生 C++ CLI 意图支持的工作流中,此 RC 版本的构建行为与传统的 PowerShell 行为出现差异,请向我们报告并提供一个最小复现示例。