{}const=>[]async()letfn</>var
Entwicklung

🛠️ CMake ohne Schmerzen: Einmal einrichten und vergessen

CMake macht vielen Angst, aber nicht dir. Hier ist eine einfache und verständliche Anleitung zum Einrichten von CMake für C++ ohne Schmerzen und Magie. Mini-Vorlage, Tipps, Lifehacks – und das alles begleitet von Kodik 🚀

К

Kodik

Autor

2 Min. Lesezeit

Wenn Sie in C++ geschrieben haben, sind Sie wahrscheinlich auf CMake gestoßen. Und vielleicht hattest du einen Moment der Verzweiflung, als alles einfach wird nicht gesammelt. CMake ist ein mächtiges Werkzeug, aber seine Syntax und Struktur verursachen oft Schmerzen. Lassen Sie uns herausfinden, wie man CMake einrichtet einmal und richtig, um nicht mehr ins Chaos zurückzukehren 💡

🔰 Was ist CMake?

CMake ist ein Build-Generierungssystem. Es kompiliert den Code nicht direkt, sondern erstellt Dateien für die Zusammenstellung unter deinem System: Makefile, Ninja, Xcode oder Visual Studio.

  • ✅ Plattformübergreifend

  • ✅ Ermöglicht die Anpassung von Abhängigkeiten

  • ✅ Vereinfacht die Zusammenstellung großer Projekte

  • ✅ Kompatibel mit IDE und CI/CD

🔥 100.000+ Schüler sind bereits bei uns

Genug Theorie gelesen?
Zeit zu coden!

Kodik — eine App, in der du durch Praxis programmieren lernst. KI-Mentor, interaktive Lektionen, echte Projekte.

🤖 KI 24/7
🎓 Zertifikate
💰 Kostenlos
🚀 Jetzt starten
Heute beigetreten

🧱 Grundstruktur des Projekts mit CMake

project-root/
├── CMakeLists.txt
├── src/
│   └── main.cpp
├── include/
│   └── mylib.hpp
├── CMakeLists.txt (внутри src/)

📌 Stammverzeichnis CMakeLists.txt:

cmake_minimum_required(VERSION 3.15)
project(MyProject)

set(CMAKE_CXX_STANDARD 20)

add_subdirectory(src)

📌 src/CMakeLists.txt:

add_executable(my_app main.cpp)
target_include_directories(my_app PRIVATE ../include)

⚙️ Tipps zum schmerzfreien Einrichten von CMake

1. Verwenden Sie target_* anstelle von globalen Variablen

❌ Schlecht:

include_directories(./include)

✅ Richtig:

target_include_directories(my_app PRIVATE ./include)

2. Füge compile_commands.json hinzu

set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

Hilft bei der automatischen Vervollständigung und Hervorhebung von Fehlern in VS Code und clangd.

3. Verwenden Sie immer out-of-source build

mkdir build && cd build
cmake ..
cmake --build .

4. Verbinden Sie Bibliotheken von Drittanbietern richtig

Beispiel mit FetchContent:

include(FetchContent)
FetchContent_Declare(
  json 
  URL https://github.com/nlohmann/json/releases/latest/download/json.hpp
)
FetchContent_MakeAvailable(json)

target_link_libraries(my_app PRIVATE nlohmann_json::nlohmann_json)

🧪 Checkliste für ein gutes CMake-Projekt

  • ✅ CMakeLists.txt nicht länger als 30 Zeilen

  • ✅ Alle Abhängigkeiten durch target_*

  • ✅ Debug/Release-Unterstützung

  • ✅ Out-of-Source-Assembly

  • ✅ Funktioniert im Terminal und in der IDE

📚 Möchten Sie tiefer in das Thema einsteigen?
Im Anhang Kodik Du findest detaillierte Lektionen zu CMake und C++, Schritt-für-Schritt-Übungen, Fehleranalyse und praktische Übungen direkt auf deinem Handy oder Browser.
Und wenn Sie über Neuigkeiten, neue Funktionen und nützliche Materialien informiert werden möchten, abonnieren Sie unseren Telegram-Kanal. Dort ist es gemütlich, geschäftlich und mit Liebe zum Code ❤️

🎯Hör auf zu zögern

Artikel gefallen?
Zeit zum Üben!

Bei Kodik liest du nicht nur — du schreibst sofort Code. Theorie + Praxis = echte Skills.

Sofortige Praxis
🧠KI erklärt Code
🏆Zertifikat

Keine Registrierung • Keine Karte