Tutoriel : Installer et utiliser des packages avec MSBuild dans Visual Studio

Ce tutoriel vous montre comment créer un programme « Hello World » C++ qui utilise la fmt bibliothèque avec MSBuild, vcpkg et Visual Studio. Vous allez installer des dépendances, configurer, générer et exécuter une application simple.

Configuration requise :

  • Visual Studio avec charge de travail de développement C++
  • Git
  • Windows 7 ou version ultérieure

1 - Configurer vcpkg

  1. Cloner le référentiel

    La première étape consiste à cloner le référentiel vcpkg à partir de GitHub. Le référentiel contient des scripts pour acquérir l’exécutable vcpkg et un registre de bibliothèques open source organisées gérées par la communauté vcpkg. Pour ce faire, exécutez :

    git clone https://github.com/microsoft/vcpkg.git
    

    Le registre organisé vcpkg est un ensemble de plus de 2 000 bibliothèques open source. Ces bibliothèques ont été validées par les pipelines d’intégration continue de vcpkg pour fonctionner ensemble. Bien que le référentiel vcpkg ne contienne pas le code source de ces bibliothèques, il contient des recettes et des métadonnées pour les générer et les installer dans votre système.

  2. Exécuter le script bootstrap

    Maintenant que vous avez cloné le référentiel vcpkg, accédez au vcpkg répertoire et exécutez le script de démarrage :

    cd vcpkg && bootstrap-vcpkg.bat
    
    cd vcpkg; .\bootstrap-vcpkg.bat
    
    cd vcpkg && ./bootstrap-vcpkg.sh
    

    Le script bootstrap effectue les case activée prérequis et télécharge l’exécutable vcpkg.

    Et voilà ! vcpkg est configuré et prêt à être utilisé.

  1. Intégrer à Visual Studio MSBuild

L’étape suivante consiste à définir l’instance à l’échelle de l’utilisateur de vcpkg afin que MSBuild puisse la trouver :

.\vcpkg.exe integrate install

En voici la sortie :

All MSBuild C++ projects can now #include any installed libraries. Linking will be handled automatically. Installing new libraries will make them instantly available.

2 - Configurer le projet Visual Studio

  1. Créer le projet Visual Studio

    • Créer un projet dans Visual Studio à l’aide du modèle « Application console »

    créer une application console Windows C++

    Capture d’écran de l’interface utilisateur de Visual Studio pour montrer comment créer une application console Windows C++ dans Visual Studio

    • Nommez votre projet « helloworld »
    • Cochez la case « Placer la solution et le projet dans le même répertoire ».
    • Cliquez sur le bouton « Créer »

    Nommage de votre projet MSBuild C++

    Capture d’écran de l’interface utilisateur de Visual Studio pour nommer votre projet MSBuild C++ et cliquer sur le bouton « Créer ».

  2. Configurez la variable d’environnement VCPKG_ROOT.

    Ouvrez la fenêtre PowerShell développeur intégrée dans Visual Studio.

    ouverture de PowerShell développeur intégré

    Capture d’écran de l’interface utilisateur de Visual Studio pour la fenêtre de développement PowerShell intégrée

    Exécutez les commandes suivantes :

    $env:VCPKG_ROOT = "C:\path\to\vcpkg"
    $env:PATH = "$env:VCPKG_ROOT;$env:PATH"
    

    configuration de vos variables d’environnement

    Capture d’écran de l’interface utilisateur de Visual Studio pour la fenêtre de développeur PowerShell intégrée montrant comment configurer VCPKG_ROOT et l’ajouter à PATH.

    Remarque

    La définition de variables d’environnement de cette façon affecte uniquement la session de terminal active. Pour rendre ces modifications permanentes dans toutes les sessions, définissez-les via le panneau Variables d’environnement système Windows.

    Ouvrez l’invite de commandes Développeur dans Visual Studio.

    ouverture de l’invite de commandes développeur Visual Studio.

    Capture d’écran de l’invite de commandes Visual Studio UI pour développeur.

    Exécutez les commandes suivantes :

    set VCPKG_ROOT="C:\path\to\vcpkg"
    set PATH=%VCPKG_ROOT%;%PATH%
    

    configuration de vos variables d’environnement

    Capture d’écran de l’invite de commandes du développeur Visual Studio montrant comment configurer VCPKG_ROOT et l’ajouter à PATH.

    Remarque

    La définition de variables d’environnement de cette façon affecte uniquement la session de terminal active. Pour rendre ces modifications permanentes dans toutes les sessions, définissez-les via le panneau Variables d’environnement système Windows.

    Le paramètre VCPKG_ROOT aide Visual Studio à localiser votre instance vcpkg. L’ajout de ces commandes vous PATH permet d’exécuter des commandes vcpkg directement à partir de l’interpréteur de commandes.

  3. Générez un fichier manifeste et ajoutez des dépendances.

    Exécutez la commande suivante pour créer un fichier manifeste vcpkg (vcpkg.json) :

    vcpkg new --application
    

    La vcpkg new commande ajoute un vcpkg.json fichier et un vcpkg-configuration.json fichier dans le répertoire du projet.

    Ajoutez le fmt package en tant que dépendance :

    vcpkg add port fmt
    

    Votre vcpkg.json doit maintenant contenir :

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    Il s’agit de votre fichier manifeste. vcpkg lit le fichier manifeste pour savoir quelles dépendances installer et intégrer à MSBuild pour fournir les dépendances requises par votre projet.

    Le fichier généré vcpkg-configuration.json introduit une base de référence qui place les contraintes de version minimales sur les dépendances du projet. La modification de ce fichier dépasse le cadre de ce didacticiel. Bien qu’il ne soit pas applicable dans ce didacticiel, il est recommandé de conserver le fichier sous contrôle de code source pour garantir la vcpkg-configuration.json cohérence des versions dans différents environnements de développement.

3 - Configurer les fichiers projet

Modifiez le fichier helloworld.cpp.

Remplacez le contenu du helloworld.cpp code suivant :

#include <fmt/core.h>

int main()
{
    fmt::print("Hello World!\n");
    return 0;
}

Ce fichier source inclut l’en-tête <fmt/core.h> qui fait partie de la fmt bibliothèque. La main() fonction appelle fmt::print() pour générer le message « Hello World ! » dans la console.

Remarque

Il y aura des erreurs qui se déclenchent dans votre projet quand MSBuilds le fait pour la première fois. Générez le projet pour acquérir des dépendances vcpkg pour les supprimer.

4 - Activer le mode manifeste

Accédez aux pages Propriétés du projet de votre projet. Sous Propriétés de configuration vcpkg, défini sur Use vcpkg manifestYes.> MSBuild case activée si cette propriété est définie avant d’installer des dépendances à partir du manifeste vcpkg.

Activer le mode manifeste dans les propriétés du projet

Capture d’écran de l’activation du mode manifeste vcpkg dans les propriétés du projet Visual Studio

D’autres paramètres, tels que les triplets, sont remplis avec les valeurs par défaut détectées par vcpkg à partir de votre projet et seront utiles lors de la configuration de votre projet.

5 - Générer et exécuter le projet

  1. Créez le projet.

    Appuyez Ctrl+Shift+B pour générer le projet dans Visual Studio et acquérir les dépendances vcpkg.

Si MSBuild détecte un vcpkg.json fichier et des manifestes sont activés dans votre projet, MSBuild installe les dépendances du manifeste en tant qu’étape de pré-génération. Les dépendances sont installées dans un vcpkg_installed répertoire dans le répertoire de sortie de build du projet. Tous les en-têtes installés par la bibliothèque peuvent être utilisés directement, et toutes les bibliothèques installées sont automatiquement liées.

Remarque

vcpkg install génère des configurations Debug et Release pour une bibliothèque. Pour générer uniquement des bibliothèques de mise en production, ajoutez-y VCPKG_RELEASE_ONLY votre triplet.

  1. Exécutez l’application.

    Enfin, exécutez l’exécutable :

    Exécution de l’exécutable

    Capture d’écran de l’interface utilisateur de Visual Studio pour l’exécution de l’exécutable.

    La sortie suivante doit s'afficher :

    Sortie du programme

    Capture d’écran des sorties du programme - « Hello World ! »

Étapes suivantes

Pour en savoir plus sur l’intégration vcpkg.json msBuild vcpkg et vcpkg, consultez notre documentation de référence :