0Pricing
C++ Academy · Lektion

Abhängigkeiten mit vcpkg und Conan verwenden

Binden Sie externe Bibliotheken mit vcpkg und Conan ein und integrieren Sie sie in CMake.

Abhängigkeiten mit vcpkg und Conan verwenden ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Warum ein Paketmanager?

Abhängigkeiten für C++ manuell herunterzuladen und zu erstellen, ist mühsam. Paketmanager automatisieren das Abrufen, Erstellen und Konfigurieren von Bibliotheken von Drittanbietern.

Die zwei führenden Optionen

Zwei führende Paketmanager für C++:

  • vcpkg – von Microsoft unterstützt, nur aus Quellcode, lässt sich in CMake integrieren
  • Conan – Open Source, unterstützt Binärdateien und ist flexibler

vcpkg einrichten

Klonen Sie das vcpkg-Repository und führen Sie die Bootstrap-Initialisierung aus. Setzen Sie die Toolchain-Datei in Ihrem CMake-Aufruf.

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlog

Mit vcpkg in CMake verknüpfen

Übergeben Sie beim Konfigurieren von CMake die Toolchain-Datei. Danach funktioniert find_package wie gewohnt.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake

vcpkg.json verwenden (Manifest-Modus)

Geben Sie Abhängigkeiten in einer vcpkg.json-Datei an. vcpkg installiert sie pro Projekt.

{
  "name": "my-app",
  "version-string": "0.1.0",
  "dependencies": ["fmt", "spdlog", "nlohmann-json"]
}

Conan einrichten

Installieren Sie Conan mit pip und erstellen Sie eine conanfile.txt oder conanfile.py.

pip install conan
conan profile detect
conan install . --build=missing

Beispiel für conanfile.txt

Listen Sie Requires, Generatoren und Optionen auf.

[requires]
fmt/10.1.1
spdlog/1.12.0

[generators]
CMakeDeps
CMakeToolchain

Conan in CMake integrieren

Conan erzeugt beim Ausführen von install CMake-Dateien. Verwenden Sie diese über die Toolchain-Datei oder indem Sie die erzeugten CMake-Dateien einbinden.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake

FetchContent: CMake-native Alternative

Für einfache Fälle bietet CMake mit FetchContent eine integrierte Möglichkeit, Abhängigkeiten während der Konfiguration herunterzuladen und hinzuzufügen.

include(FetchContent)
FetchContent_Declare(fmt
    GIT_REPOSITORY https://github.com/fmtlib/fmt.git
    GIT_TAG 10.1.1
)
FetchContent_MakeAvailable(fmt)
target_link_libraries(myapp PRIVATE fmt::fmt)

Ein Werkzeug auswählen

Kurzer Leitfaden:

  • Kleine Projekte → FetchContent
  • Größere Projekte mit einfachen Abhängigkeiten → vcpkg
  • Komplexe Builds mit Binär-Cache → Conan

Reproduzierbare Builds

Fixieren Sie bestimmte Versionen in Ihrem Manifest. Lock-Dateien (conan.lock) speichern die exakt aufgelösten Versionen und ermöglichen reproduzierbare Builds.

Binärdateien zwischenspeichern

Sowohl Conan als auch vcpkg unterstützen das Zwischenspeichern von Binärdateien – CI-Builds werden dadurch um Größenordnungen schneller. Richten Sie einen gemeinsamen Cache für Ihr Team ein.

Kurze Überprüfung

Welcher CMake-Mechanismus lädt eine Abhängigkeit während der Konfiguration herunter und erstellt sie, ohne ein externes Werkzeug zu benötigen?

Zusammenfassung

vcpkg und Conan automatisieren die Verwaltung von C++-Abhängigkeiten. CMake's FetchContent ist eine leichtgewichtige Alternative. Fixieren Sie Versionen, speichern Sie Binärdateien zwischen und verwenden Sie find_package in CMake, um installierte Bibliotheken zu nutzen.

Häufig gestellte Fragen

Ist die Lektion „Abhängigkeiten mit vcpkg und Conan verwenden“ kostenlos?

Ja — der vollständige Text von „Abhängigkeiten mit vcpkg und Conan verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Abhängigkeiten mit vcpkg und Conan verwenden“?

Binden Sie externe Bibliotheken mit vcpkg und Conan ein und integrieren Sie sie in CMake. Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um C++ Academy zu starten?

Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Abhängigkeiten mit vcpkg und Conan verwenden“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?

Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. CMake-Projektstruktur und CMakeLists.txt
  2. Targets, Linking und Sichtbarkeit: PUBLIC, PRIVATE
  3. Abhängigkeiten mit vcpkg und Conan verwenden
  4. IDE-Dateien und plattformübergreifende Builds erzeugen
← Zurück zu C++ Academy