Dieses Beispiel zeigt ein minimales, portables C++-Projekt mit CMake. Es lässt sich unter Windows, Linux und macOS mit demselben Projektaufbau konfigurieren, kompilieren und starten.
Projektstruktur
cpp-vibe-example/
├─ CMakeLists.txt
└─ src/
└─ main.cpp
Startprompt
„Erstelle ein minimales C++20-Konsolenprojekt mit CMake. Aktiviere strenge Warnungen für MSVC, GCC und Clang. Verwende keine externen Bibliotheken und beschreibe die Build-Befehle für Debug und Release.“
CMakeLists.txt
cmake_minimum_required(VERSION 3.20)
project(VibeCppExample
VERSION 1.0
LANGUAGES CXX
)
add_executable(vibe_cpp
src/main.cpp
)
target_compile_features(vibe_cpp PRIVATE cxx_std_20)
if(MSVC)
target_compile_options(vibe_cpp PRIVATE /W4 /permissive-)
else()
target_compile_options(vibe_cpp PRIVATE -Wall -Wextra -Wpedantic)
endif()
src/main.cpp
#include <iostream>
#include <string_view>
constexpr int square(const int value) noexcept {
return value * value;
}
int main() {
constexpr int input = 7;
constexpr std::string_view label = "Vibe C++";
std::cout << label << ": "
<< input << "^2 = "
<< square(input) << '\n';
return 0;
}
Konfigurieren und kompilieren
Alle Befehle werden im Projektordner ausgeführt:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build
Bei Generatoren mit mehreren Konfigurationen, etwa Visual Studio, wird die Konfiguration beim Build angegeben:
cmake -S . -B build
cmake --build build --config Debug
Programm starten
Linux und macOS sowie Single-Config-Generatoren:
./build/vibe_cpp
Visual Studio oder andere Multi-Config-Generatoren unter Windows:
build\Debug\vibe_cpp.exe
Release-Build
cmake -S . -B build-release -DCMAKE_BUILD_TYPE=Release
cmake --build build-release
Mit einem Multi-Config-Generator:
cmake --build build --config Release
Wenn der Build fehlschlägt
cmake --versionund den installierten C++-Compiler prüfen.- Die erste Fehlermeldung lesen, nicht nur die letzte Zeile.
- Kontrollieren, ob der Befehl wirklich im Ordner mit
CMakeLists.txtläuft. - Bei geänderter Toolchain einen neuen Buildordner verwenden.
Sinnvolle Folgeprompts
- „Ergänze CTest und einen Test für
square, ohne externe Testbibliothek.“ - „Teile die Funktion in Header und Quelldatei auf und erkläre jede neue Datei.“
- „Aktiviere AddressSanitizer nur für Debug-Builds mit GCC und Clang.“
So bleibt der Vibe-Coding-Prozess reproduzierbar: Jede KI-Änderung wird mit denselben Konfigurations- und Buildbefehlen geprüft.