Utiliser vcpkg et Conan pour les dépendances
Récupérer des bibliothèques externes avec vcpkg et Conan et les intégrer à CMake
Utiliser vcpkg et Conan pour les dépendances est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.
Pourquoi utiliser un gestionnaire de paquets ?
Télécharger et compiler manuellement les dépendances C++ est fastidieux. Les gestionnaires de paquets automatisent la récupération, la compilation et la configuration des bibliothèques tierces.
Les deux options dominantes
Deux gestionnaires de paquets C++ de premier plan :
- vcpkg — soutenu par Microsoft, uniquement à partir des sources, s’intègre à CMake
- Conan — libre, prend en charge les binaires et offre davantage de flexibilité
Configuration de vcpkg
Clonez le dépôt vcpkg et exécutez l’amorçage. Définissez le fichier de chaîne d’outils dans votre appel à CMake.
git clone https://github.com/microsoft/vcpkg.git
cd vcpkg && ./bootstrap-vcpkg.sh
./vcpkg install fmt spdlogLier vcpkg dans CMake
Passez le fichier de chaîne d’outils lors de la configuration de CMake. find_package fonctionne ensuite comme d’habitude.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmakeUtiliser vcpkg.json (mode manifeste)
Déclarez les dépendances dans un fichier vcpkg.json. vcpkg les installe pour chaque projet.
{
"name": "my-app",
"version-string": "0.1.0",
"dependencies": ["fmt", "spdlog", "nlohmann-json"]
}Configuration de Conan
Installez Conan avec pip ; créez un conanfile.txt ou un conanfile.py.
pip install conan
conan profile detect
conan install . --build=missingExemple de conanfile.txt
Répertoriez les exigences, les générateurs et les options.
[requires]
fmt/10.1.1
spdlog/1.12.0
[generators]
CMakeDeps
CMakeToolchainIntégrer Conan à CMake
Conan génère des fichiers CMake lorsque vous exécutez install. Utilisez-les via le fichier de chaîne d’outils ou en incluant les fichiers CMake générés.
cmake -B build -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmakeFetchContent : alternative native de CMake
Pour les cas simples, CMake fournit FetchContent intégré afin de télécharger et d’ajouter les dépendances au moment de la configuration.
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)Choisir un outil
Guide rapide :
- Petits projets →
FetchContent - Projets plus importants, dépendances simples →
vcpkg - Compilations complexes, cache de binaires →
Conan
Compilations reproductibles
Épinglez des versions précises dans votre manifeste. Les fichiers de verrouillage, comme conan.lock, enregistrent les versions exactes résolues pour garantir la reproductibilité.
Mettre en cache les binaires
Conan et vcpkg prennent tous deux en charge la mise en cache des binaires : les compilations d’intégration continue deviennent plusieurs ordres de grandeur plus rapides. Configurez un cache partagé pour votre équipe.
Vérification rapide
Quel mécanisme de CMake télécharge et compile une dépendance au moment de la configuration sans nécessiter d’outil externe ?
Récapitulatif
vcpkg et Conan automatisent la gestion des dépendances C++. Le FetchContent de CMake constitue une alternative légère. Épinglez les versions, mettez les binaires en cache et utilisez find_package dans CMake pour exploiter les bibliothèques installées.
Questions Fréquemment Posées
La leçon « Utiliser vcpkg et Conan pour les dépendances » est-elle gratuite ?
Oui — le texte complet de « Utiliser vcpkg et Conan pour les dépendances » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Utiliser vcpkg et Conan pour les dépendances » ?
Récupérer des bibliothèques externes avec vcpkg et Conan et les intégrer à CMake Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C++ Academy ?
Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Utiliser vcpkg et Conan pour les dépendances » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?
Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Organisation d’un projet CMake et CMakeLists.txt
- Cibles, liaison et visibilité PUBLIC, PRIVATE
- Utiliser vcpkg et Conan pour les dépendances
- Générer des fichiers pour les IDE et compiler sur plusieurs plateformes