LLM Skills
~/catalogue/debugging et maintenance//cpp-build

Compilation et correction en c++

/cpp-build

Diagnostique et corrige les erreurs de compilation, dépendances et configuration C++.

affaan-maffaan-m
240.5k
24 mai 2026
MIT License
// contenu du skill

description: Fix C++ build errors, CMake issues, and linker problems incrementally. Invokes the cpp-build-resolver agent for minimal, surgical fixes.


C++ Build and Fix

This command invokes the cpp-build-resolver agent to incrementally fix C++ build errors with minimal changes.

What This Command Does

  1. Run Diagnostics: Execute cmake --build, clang-tidy, cppcheck
  2. Parse Errors: Group by file and sort by severity
  3. Fix Incrementally: One error at a time
  4. Verify Each Fix: Re-run build after each change
  5. Report Summary: Show what was fixed and what remains

When to Use

Use /cpp-build when:

  • cmake --build build fails with errors
  • Linker errors (undefined references, multiple definitions)
  • Template instantiation failures
  • Include/dependency issues
  • After pulling changes that break the build

Diagnostic Commands Run

bash
# CMake configure
cmake -B build -S .

# Build
cmake --build build 2>&1 | head -100

# Static analysis (if available)
clang-tidy src/*.cpp -- -std=c++17
cppcheck --enable=all src/

Example Session

text
User: /cpp-build

Agent:
# C++ Build Resolution

## Initial Diagnostics

$ cmake --build build

src/service/user.cpp:25:15: error: use of undeclared identifier 'UserRepository'

src/handler/api.cpp:42:9: error: no matching function for call to 'process'

src/handler/api.cpp:58:1: error: non-void function does not return a value


Errors found: 3

## Fix 1: Undeclared Identifier

File: src/service/user.cpp:25
Error: use of undeclared identifier 'UserRepository'
Cause: Missing include

// Added include

#include "repository/user_repository.hpp"

$ cmake --build build

2 errors remaining


## Fix 2: No Matching Function

File: src/handler/api.cpp:42
Error: no matching function for call to 'process'

// Changed

process(params.get("count"));

// To

process(std::stoi(params.get("count")));

$ cmake --build build

1 error remaining


## Fix 3: Missing Return

File: src/handler/api.cpp:58
Error: non-void function does not return a value

std::optional<User> getUser(const std::string& id) {

if (id.empty()) {

return std::nullopt;

}

auto user = findUser(id);

// Added missing return

return user;

}

$ cmake --build build

Build successful!


## Final Verification

$ ctest --test-dir build --output-on-failure

Test project build

1/5 Test #1: unit_tests ........ Passed 0.02 sec

2/5 Test #2: integration_tests Passed 0.15 sec

All tests passed.


## Summary

| Metric | Count |
|--------|-------|
| Build errors fixed | 3 |
| Linker errors fixed | 0 |
| Files modified | 2 |
| Remaining issues | 0 |

Build Status: PASS: SUCCESS

Common Errors Fixed

ErrorTypical Fix
undeclared identifierAdd #include or fix typo
no matching functionFix argument types or add overload
undefined referenceLink library or add implementation
multiple definitionUse inline or move to .cpp
incomplete typeReplace forward decl with #include
no member named XFix member name or include
cannot convert X to YAdd appropriate cast
CMake ErrorFix CMakeLists.txt configuration

Fix Strategy

  1. Compilation errors first - Code must compile
  2. Linker errors second - Resolve undefined references
  3. Warnings third - Fix with -Wall -Wextra
  4. One fix at a time - Verify each change
  5. Minimal changes - Don't refactor, just fix

Stop Conditions

The agent will stop and report if:

  • Same error persists after 3 attempts
  • Fix introduces more errors
  • Requires architectural changes
  • Missing external dependencies

Related Commands

  • /cpp-test - Run tests after build succeeds
  • /cpp-review - Review code quality
  • verification-loop skill - Full verification loop

Related

  • Agent: agents/cpp-build-resolver.md
  • Skill: skills/cpp-coding-standards/
// source originale publique
affaan-m/ECC
/commands/cpp-build.md
Licence : MIT License
Projet indépendant, non affilié à Anthropic. Ce skill reste la propriété de son auteur original.
// installer ce skill
Collez cette commande dans votre terminal à la racine de votre projet :
mkdir -p .claude/commands && curl -o ".claude/commands/cpp-build.md" "https://raw.githubusercontent.com/affaan-m/ECC/main/commands/cpp-build.md"
Ensuite dans Claude Code, tapez /cpp-build pour l'activer.
open_in_newVoir la source originale
// sauvegarder
Sauvegarde disponible après connexion.
loginSe connecter pour sauvegarder
// informations
Créateuraffaan-m
Étoiles 240.5k
LicenceMIT License
Mis à jour24 mai 2026
Format.md
AccèsGratuit
// similaires

Skills Debugging et maintenance

Voir toutarrow_forward