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 spdlogMit 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.cmakevcpkg.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=missingBeispiel für conanfile.txt
Listen Sie Requires, Generatoren und Optionen auf.
[requires]
fmt/10.1.1
spdlog/1.12.0
[generators]
CMakeDeps
CMakeToolchainConan 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.cmakeFetchContent: 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
- CMake-Projektstruktur und CMakeLists.txt
- Targets, Linking und Sichtbarkeit: PUBLIC, PRIVATE
- Abhängigkeiten mit vcpkg und Conan verwenden
- IDE-Dateien und plattformübergreifende Builds erzeugen