github/gitignore · C++.gitignore

C++-.gitignore-Vorlage erklärt

Erklärt, warum C++.gitignore Objekte, Bibliotheken und ausführbare Dateien, den CMake-Build-Baum, compile_commands.json und den vcpkg-Installationsordner ignoriert, und die Falle der Makefile-Regel.

Im Generator öffnen Zusammen mit C, JetBrains, VisualStudioCode, VisualStudio öffnen

C++.gitignore enthält ähnliche Regeln für Kompilierartefakte wie die C-Vorlage und zusätzlich den CMake-Build-Baum, CTest-Ergebnisse und den Installationsordner des vcpkg-Manifestmodus. Da die Fortran-Vorlage im Vorlagen-Repository direkt auf diese Datei verweist, sind auch Regeln für Fortran-Moduldateien (.mod, .smod) enthalten.

Die heikelste Zeile ist Makefile. Sie soll von CMake erzeugte Makefiles blockieren, ignoriert aber in Projekten, die mit einem handgeschriebenen Makefile gebaut werden, auch diese Datei.

Regeln im Einzelnen

MusterWas ignoriert wird und warum
*.o*.obj*.slo*.lo*.d*.gch*.pchObjekte und Header-CacheKompilierergebnisse pro Übersetzungseinheit, Abhängigkeitsdateien und vorkompilierte Header. Alles wird aus den Quellen neu erzeugt.
*.so*.dylib*.dll*.so.**.a*.lib*.lai*.la*.exe*.out*.appBibliotheken und ausführbare DateienLinker-Ergebnisse. Sie entstehen je nach Plattform unterschiedlich und werden über Releases verteilt, nicht über das Repository.
build/Build/build-*/CMakeFiles/CMakeCache.txtcmake_install.cmakeinstall_manifest.txtCMake-Build-BaumCache und generierte Dateien, die CMake in der Konfigurationsphase erzeugt. CMakeCache.txt speichert den Compilerpfad Ihres Rechners und ist für andere nutzlos.
MakefileGenerierte MakefilesBlockiert Makefiles, die der Unix-Makefiles-Generator von CMake im Quellbaum erzeugt. Ohne Schrägstrich wird jedes Makefile in jeder Tiefe ignoriert.
compile_commands.jsonvcpkg_installed/Testing/.cache/Tool-ArtefakteKompilierdatenbank, die clangd und andere lesen, von vcpkg installierte Pakete, CTest-Ergebnisse und der Indexcache von clangd. Alles hängt von der lokalen Umgebung ab.
*.pdb*.ilk*.dwo*.tmp*.log*.bak*.swpDebuginformationen und temporäre DateienDebugsymbole, Dateien für inkrementelles Linken sowie temporäre und Sicherungsdateien von Editoren.
*.mod*.smodFortran-ModuleModulschnittstellendateien, die der Fortran-Compiler erzeugt. Auf reine C++-Projekte hat die Regel keine Auswirkung.

Hinweise für die Praxis

Originalvorlage

C++.gitignore39 Regeln
# Prerequisites*.d# Compiled Object files*.slo*.lo*.o*.obj# Precompiled Headers*.gch*.pch# Linker files*.ilk# Debugger Files*.pdb# Compiled Dynamic libraries*.so*.dylib*.dll*.so.*# Fortran module files*.mod*.smod# Compiled Static libraries*.lai*.la*.a*.lib# Executables*.exe*.out*.app# Build directoriesbuild/Build/build-*/# CMake generated filesCMakeFiles/CMakeCache.txtcmake_install.cmakeMakefileinstall_manifest.txtcompile_commands.json# Temporary files*.tmp*.log*.bak*.swp# vcpkgvcpkg_installed/# debug information files*.dwo# test output & cacheTesting/.cache/

Vorlagenquelle: github/gitignore/C++.gitignore @356fd7b (2026-09-11) · CC0-1.0

Häufig kombinierte Vorlagen

Weitere Vorlagenerklärungen