展示 HN:现代 C++ 模块特性的构建工具
一个现代的 C++ 模块优先构建工具 — 采用纯 C++23 模块编写,完全自托管 英文 | 简体中文 文档 · 入门指南 · mcpp.toml 指南 · 示例 · 工具链 软件包索引 mcpp-index · 模块库 mcpplibs · 社区论坛 · 问题 · 发布亮点 原生 C++23 模块支持 — 自动处理 import std,文件级增量构建,自动模块依赖分析,零手动配置 纯模块化自托管 — mcpp 本身由 43 个以上的 C++23 模块组成,并自我构建;模块管道经过实战考验 开箱即用 — 一键安装,捆绑 GCC 16 / LLVM 20 工具链下载到隔离沙箱中,永不污染您的系统 集成依赖管理 — SemVer 约束解析,锁定文件,跨项目 BMI 缓存,自定义软件包索引 多包工作区 — 大型项目的统一锁定文件和版本管理 为什么选择 mcpp mcpp 专为 C++23 模块优先开发构建而构建。如果您希望在项目中使用 import std、模块接口单元(.cppm)、模块分区及其他现代 C++ 特性,mcpp 为您提供了在 Linux、macOS ARM64 和 Windows x86_64 上平滑友好的体验: 默认模块化 — 通过 mcpp new 创建的项目直接使用 C++23 模块; import std 运行正常 文件级增量构建 — 基于 P1689 dyndep 的三层优化(前端脏检查 + 每文件扫描 + BMI 重状态);只有实际更改的模块才会被重新编译 一次性创建和构建 — mcpp new hello && cd hello && mcpp build;工具链自动安装,无需设置编译器或构建系统 模块化生态系统 — mcpplibs 提供一组不断增长的可直接导入的 C++ 模块库,并支持自定义软件包索引 注意 早期阶段项目 — mcpp 正在积极开发中;接口和行为可能在未来发布中发生变化。欢迎对现代 C++ 模块优先构建工具感兴趣的开发者贡献代码。 问题/反馈/想法 — 在问题中留言。入门指南 安装 通过 xlings 安装(推荐) xlings install mcpp -y 还没有 xlings?点击获取安装命令 Linux / macOS curl -fsSL https://d2learn.org/xlings-install.sh | bash Windows — PowerShell irm https: // d2learn.org / xlings - install.ps1.txt | iex 关于 xlings 的更多信息 → xlings.d2learn.org 可选 — 短命令(mp, mbuild, mrun, …) xlings install mcpp-short-cmd -y 注册 30 个 shim,因此 mcpp build 变为 mbuild。命名规则:每个单词的首字母加上最后一个单词的全名 — mcpp self doctor → msdoctor。mp 是 bare mcpp。它们别名 mcpp shim 而不是固定的二进制文件,因此 xlings 使用 mcpp <ver> 也切换它们。 短命令 扩展为 短命令 扩展为 mp mcpp mexpkg mcpp emit xpkg mnew mcpp new mxparse mcpp xpkg parse mbuild mcpp build mtinstall mcpp toolchain install mrun mcpp run mtlist mcpp toolchain list mtest mcpp test mtdefault mcpp toolchain default mclean mcpp clean mcdir mcpp cache dir madd mcpp add mclist mcpp cache list mremove mcpp remove mcinfo mcpp cache info mupdate mcpp update mcgc mcpp cache gc msearch mcpp search milist mcpp index list mpublish mcpp publish miadd mcpp index add mpack mcpp pack miremove mcpp index remove msdoctor mcpp self doctor miupdate mcpp index update msenv mcpp self env msconfig mcpp self config msversion mcpp self version msexplain mcpp self explain 其他选项 选项 1 — 一行安装程序(Linux x86_64/aarch64,macOS ARM64) curl -fsSL https://github.com/mcpp-community/mcpp/releases/latest/download/install.sh | bash 此安装程序不支持 Windows;请使用上面的 PowerShell xlings 路径。它安装在 ~/.mcpp/ 下,并将其添加到您的 shell PATH 中。删除 ~/.mcpp 可干净卸载。 选项 2 — Homebrew(macOS / Linux) brew install mcpp-community/mcpp/mcpp-m 一条命令 — 它会添加 mcpp-community/homebrew-mcpp 并安装相同的预构建发布二进制文件。macOS 需要 Apple silicon + macOS 14;每用户数据位于 ~/.mcpp/。Homebrew 的 mcpp 是不相关的 C 预处理器,因此使用 mcpp-m 配方名称 — 安装的命令仍然是 mcpp。 选项 3 — Arch Linux(AUR) yay -S mcpp-bin # 预构建发布二进制文件 yay -S mcpp-m # 或从源构建(由 mcpp-bin 引导) 全局安装 mcpp 命令;每用户数据仍然位于 ~/.mcpp/。在 Arch 中,名称 mcpp 是不相关的 C 预处理器,因此软件包为 mcpp-bin / mcpp-m(见 scripts/aur/)。 选项 4 — 让 AI 助手为您安装 将以下提示复制到您的 AI 编码助手(Claude Code / Cursor / Copilot 等):阅读 https://github.com/mcpp-community/mcpp 的 README,然后为我安装 mcpp 并创建一个 C++23 模块项目,构建并运行它。该 repo 的 .agents/skills/mcpp-usage/SKILL.md 包含详细的使用指南。 创建、构建和运行项目 mcpp new hello cd hello mcpp build mcpp run 注意:首次构建会初始化环境并获取工具链,这可能需要一些时间。 项目布局
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡