v5.0.0
MQB v5.0.0 于 2026-08-12 发布,是原生 C++ 主线的首个正式稳定版,也是与旧 PowerShell 实现完成切割后的第一个稳定版本。
本版本统一为三个入口:
- 可执行文件:
mqb.exe - 命令:
mqb - 项目配置:
mqb.json
主要变化
原生构建流水线
MQB 现在直接以原生 C++ 实现驱动 MSVC:
- 支持
.c、.cpp、.cc、.cxx; - 自动发现 Visual Studio 或 portable MSVC toolchain;
- 单入口可使用 smart source discovery,多入口可使用精确 source set;
- compile、link、archive 使用独立增量缓存,状态统一写入项目
.mqb/; -j/--jobs支持有界并行 scan/compile。
Target 与编译策略
v5.0.0 支持:
exe、dll和普通statictarget;MD/MDd/MT/MTdruntime;- LTCG;
console/windowssubsystem;- include path、define、library path、library,以及原样 compiler/linker argv。
这些策略可通过 CLI 或严格的 mqb.json 配置;标量选项遵循 CLI > mqb.json > default。
C++ Modules / Header Units
首个稳定版支持 project-local named modules 与 project-local header units。依赖拓扑由 MSVC /scanDependencies 的 P1689 数据决定,而不是通过源码文本猜测。
构建后运行
可执行目标可直接运行:
mqb main.cpp --run -- input.txt "hello world"-- 之后的参数会作为结构化 argv 传给目标程序。
从旧 PowerShell 版本升级
v5.0.0 是明确的兼容性断点。以下旧入口不再发布或自动兼容:
build.ps1与buildcompatibility command;build-legacy.ps1/ legacy rollback;- PowerShell profile 注入;
- 旧安装的自动迁移;
msvc_list.json;-config、-std、-type、-run、-env、-flags、-link_flags等 PowerShell-era 单横线别名。
请以 mqb --help 和 mqb.json 为新的权威接口。旧拼写会直接报错,不会静默进入兼容路径。
安装
下载以下两个 release artifact:
msvc-quick-build-v5.0.0-windows-x64.zip
msvc-quick-build-v5.0.0-windows-x64.zip.sha256
校验 checksum 后解压并运行:
.\install.bat默认安装目录为:
%USERPROFILE%\bin
重新打开终端后可验证:
mqb --help首行应为:
MQB 5.0.0 - MSVC Quick Build (C++ refactor)
安装器不会修改 PowerShell profile,也不会创建旧 build 命令。mqb.exe 使用静态 MSVC runtime,因此运行 MQB 本身不要求额外安装 Visual C++ Redistributable。
卸载:
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "$HOME\bin\uninstall-mqb.ps1"v5.0.0 的已知边界
以下能力 不属于最初发布的 v5.0.0:
- external / prebuilt named-module IFC provider;
- MSVC toolchain-owned
import std;/import std.compat;; - 需要 Modules/Header Units pipeline 的 static-library target。
这些场景在该版本中显式 fail closed。后续 main 的能力扩展不应被倒推为 v5.0.0 已发布能力。
发布验证
v5.0.0 的正式 artifact 由 MQB 自举链生成和验证:
pinned v5.0.0-rc.2 seed
↓
Stage 0
↓ MQB-built Release test graph
Stage 1
↓ clean build state
Stage 2
发布门禁验证了:
- pinned seed 的 checksum 与 executable identity;
- 当时完整的 67/67 Release tests;
- Stage 0 → Stage 1 → clean Stage 2 self-host closure;
- 发布包中的
mqb.exe与已验证 Stage 1 byte-identical; - exact package manifest 与 checksum;
- install / reinstall / uninstall lifecycle;
- tag 与
release/VERSION一致,publication 使用已验证 artifact,不重新构建。
正式 Windows x64 ZIP 的 SHA-256 为:
eec1d8ae80ff8ade23f438ad53ec253ad67b36a81481759dc6bba0d108cc3d12
历史预发布
v5.0.0-rc.1 与 v5.0.0-rc.2 保留为历史 prerelease,不重写其发布内容。
许可证
MQB v5.0.0 使用 Apache License 2.0。完整条款见 LICENSE。