C++ 构建与修复¶
此命令会调用 cpp-build-resolver 代理,以最小化改动的方式增量修复 C++ 构建错误。
此命令的工作方式¶
- 执行诊断:运行
cmake --build、clang-tidy、cppcheck - 解析错误:按文件分组,并按严重程度排序
- 增量修复:一次修复一个错误
- 验证每项修复:每次更改后重新构建
- 报告摘要:显示已修复项和剩余项
使用时机¶
使用 /cpp-build 的情况:
- cmake --build build 因错误失败时
- 链接器错误(未定义引用、多重定义)
- 模板实例化失败
- 头文件包含/依赖问题
- 拉取破坏构建的更改后
执行的诊断命令¶
# CMake配置
cmake -B build -S .
# ビルド
cmake --build build 2>&1 | head -100
# 静的解析(利用可能な場合)
clang-tidy src/*.cpp -- -std=c++17
cppcheck --enable=all src/
通常修复的错误¶
| 错误 | 典型修复 |
|---|---|
undeclared identifier |
添加 #include 或修正类型错误 |
no matching function |
修正参数类型或添加重载 |
undefined reference |
链接库或添加实现 |
multiple definition |
使用 inline 或移至 .cpp 文件 |
incomplete type |
将前置声明替换为 #include |
no member named X |
修正成员名或包含头文件 |
cannot convert X to Y |
添加适当的类型转换 |
CMake Error |
修正 CMakeLists.txt 配置 |
修复策略¶
- 先处理编译错误 — 代码必须能够编译
- 再处理链接器错误 — 解决未定义引用
- 最后处理警告 — 使用
-Wall -Wextra修复 - 一次修复一个 — 验证每项更改
- 最小化更改 — 不重构,仅修复
停止条件¶
代理在以下情况下停止并报告: - 尝试 3 次后同一错误仍然存在 - 修复引入了更多错误 - 需要架构更改 - 缺少外部依赖
相关命令¶
/cpp-test— 构建成功后运行测试/cpp-review— 审查代码质量verification-loop技能 — 完整验证循环
相关¶
- 代理:
agents/cpp-build-resolver.md - 技能:
skills/cpp-coding-standards/
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 ev/ECC