Lernprogramm: Installieren und Verwenden von Paketen mit MSBuild in Visual Studio

In diesem Lernprogramm erfahren Sie, wie Sie ein C++-Programm "Hallo Welt" erstellen, das die fmt Bibliothek mit MSBuild, vcpkg und Visual Studio verwendet. Sie installieren Abhängigkeiten, konfigurieren, erstellen und führen eine einfache Anwendung aus.

Voraussetzungen:

1 – Einrichten von vcpkg

  1. Klonen des Repositorys

    Der erste Schritt besteht darin, das vcpkg-Repository von GitHub zu klonen. Das Repository enthält Skripts zum Abrufen der ausführbaren Datei vcpkg und eine Registrierung von kuratierten Open-Source-Bibliotheken Standard von der vcpkg-Community enthalten. Führen Sie dazu Folgendes aus:

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

    Die kuratierte vcpkg-Registrierung ist eine Reihe von mehr als 2.000 Open-Source-Bibliotheken. Diese Bibliotheken wurden von den kontinuierlichen Integrationspipelines von vcpkg überprüft, um zusammenzuarbeiten. Während das vcpkg-Repository nicht den Quellcode für diese Bibliotheken enthält, enthält es Rezepte und Metadaten zum Erstellen und Installieren in Ihrem System.

  2. Ausführen des Bootstrap-Skripts

    Nachdem Sie das vcpkg-Repository geklont haben, navigieren Sie zum vcpkg Verzeichnis, und führen Sie das Bootstrap-Skript aus:

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

    Das Bootstrap-Skript führt erforderliche Prüfungen durch und lädt die ausführbare Datei vcpkg herunter.

    Das ist alles! vcpkg ist eingerichtet und einsatzbereit.

  1. Integration in Visual Studio MSBuild

Der nächste Schritt besteht darin, die benutzerweite Instanz von vcpkg so festzulegen, dass MSBuild sie finden kann:

.\vcpkg.exe integrate install

Folgendes wird ausgegeben:

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

2 – Einrichten des Visual Studio-Projekts

  1. Erstellen des Visual Studio-Projekts

    • Erstellen eines neuen Projekts in Visual Studio mithilfe der Vorlage "Konsolenanwendung"

    Erstellen einer neuen C++-Windows-Konsolenanwendung

    Screenshot der Visual Studio-Benutzeroberfläche zum Erstellen einer neuen C++-Windows-Konsolenanwendung in Visual Studio

    • Benennen Sie Ihr Projekt "helloworld"
    • Aktivieren Sie das Kontrollkästchen für "Projektmappe und Projekt im selben Verzeichnis platzieren".
    • Klicken Sie auf die Schaltfläche "Erstellen".

    Benennen Ihres MSBuild C++-Projekts

    Screenshot der Visual Studio-Benutzeroberfläche zum Benennen Des MSBuild C++-Projekts und Klicken auf die Schaltfläche "Erstellen".

  2. Konfigurieren Sie die Umgebungsvariable VCPKG_ROOT.

    Öffnen Sie das integrierte PowerShell-Fenster für Entwickler in Visual Studio.

    Öffnen der integrierten PowerShell für Entwickler

    Screenshot der Visual Studio-Benutzeroberfläche für das integrierte PowerShell-Entwicklerfenster

    Führen Sie die folgenden Befehle aus:

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

    Einrichten von Umgebungsvariablen

    Screenshot der Visual Studio-Benutzeroberfläche für das integrierte PowerShell-Entwicklerfenster, in dem gezeigt wird, wie Sie VCPKG_ROOT einrichten und zu PATH hinzufügen können.

    Hinweis

    Das Festlegen von Umgebungsvariablen auf diese Weise wirkt sich nur auf die aktuelle Terminalsitzung aus. Um diese Änderungen in allen Sitzungen dauerhaft vorzunehmen, legen Sie sie über den Bereich "Windows System Environment Variables" fest.

    Öffnen Sie die Eingabeaufforderung für Entwickler in Visual Studio.

    Öffnen der Visual Studio-Entwickler-Eingabeaufforderung.

    Screenshot der Visual Studio-Benutzeroberfläche für die Entwickler-Eingabeaufforderung.

    Führen Sie die folgenden Befehle aus:

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

    Einrichten von Umgebungsvariablen

    Screenshot der Visual Studio-Eingabeaufforderung für Entwickler, die zeigt, wie sie VCPKG_ROOT einrichten und zu PATH hinzufügen.

    Hinweis

    Das Festlegen von Umgebungsvariablen auf diese Weise wirkt sich nur auf die aktuelle Terminalsitzung aus. Um diese Änderungen in allen Sitzungen dauerhaft vorzunehmen, legen Sie sie über den Bereich "Windows System Environment Variables" fest.

    Die Einstellung VCPKG_ROOT hilft Visual Studio beim Auffinden Ihrer vcpkg-Instanz. PATH Durch das Hinzufügen wird sichergestellt, dass Sie vcpkg-Befehle direkt über die Shell ausführen können.

  3. Generieren Sie eine Manifestdatei, und fügen Sie Abhängigkeiten hinzu.

    Führen Sie den folgenden Befehl aus, um eine vcpkg-Manifestdatei (vcpkg.json) zu erstellen:

    vcpkg new --application
    

    Der vcpkg new Befehl fügt eine vcpkg.json Datei und eine vcpkg-configuration.json Datei im Verzeichnis des Projekts hinzu.

    Fügen Sie das fmt Paket als Abhängigkeit hinzu:

    vcpkg add port fmt
    

    Sie vcpkg.json sollten jetzt Folgendes enthalten:

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    Dies ist Ihre Manifestdatei. vcpkg liest die Manifestdatei, um zu erfahren, welche Abhängigkeiten installiert und in MSBuild integriert werden sollen, um die für Ihr Projekt erforderlichen Abhängigkeiten bereitzustellen.

    Die generierte vcpkg-configuration.json Datei führt einen Basisplan ein, der Mindestversionseinschränkungen für die Abhängigkeiten des Projekts einschließt. Das Ändern dieser Datei liegt außerhalb des Umfangs dieses Lernprogramms. In diesem Lernprogramm ist es zwar nicht anwendbar, aber es empfiehlt sich, die vcpkg-configuration.json Datei unter Quellcodeverwaltung zu halten, um die Versionskonsistenz in verschiedenen Entwicklungsumgebungen sicherzustellen.

3 – Einrichten der Projektdateien

Ändern Sie die Datei helloworld.cpp.

Ersetzen Sie den Inhalt durch helloworld.cpp den folgenden Code:

#include <fmt/core.h>

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

Diese Quelldatei enthält den <fmt/core.h> Header, der Teil der fmt Bibliothek ist. Die main() Funktion ruft fmt::print() auf, um die Meldung "Hallo Welt!" an die Konsole auszugeben.

Hinweis

Beim erstmaligen Erstellen von MSBuilds wird ein Fehler in Ihrem Projekt angezeigt. Erstellen Sie das Projekt, um vcpkg-Abhängigkeiten zu erwerben, um sie zu entfernen.

4 – Manifestmodus aktivieren

Navigieren Sie zu den Projekteigenschaftenseiten ihres Projekts. Legen Use vcpkg manifest Sie unter Konfigurationseigenschaften > vcpkg auf Yes. MSBuild überprüft, ob diese Eigenschaft festgelegt ist, bevor Abhängigkeiten aus dem vcpkg-Manifest installiert werden.

Aktivieren des Manifestmodus in Projekteigenschaften

Screenshot der Aktivierung des vcpkg-Manifestmodus in Visual Studio-Projekteigenschaften

Andere Einstellungen, z . B. Triplets, werden mit Standardwerten gefüllt, die vcpkg erkennt aus Ihrem Projekt und ist beim Konfigurieren des Projekts nützlich.

5 – Erstellen und Ausführen des Projekts

  1. Erstellen Sie das Projekt.

    Drücken Sie Ctrl+Shift+B , um das Projekt in Visual Studio zu erstellen und die vcpkg-Abhängigkeiten zu erwerben.

Wenn MSBuild erkennt, dass eine vcpkg.json Datei und Manifeste in Ihrem Projekt aktiviert sind, installiert MSBuild die Abhängigkeiten des Manifests als Vorabbuildschritt. Abhängigkeiten werden in einem vcpkg_installed Verzeichnis im Buildausgabeverzeichnis des Projekts installiert. Alle von der Bibliothek installierten Header können direkt verwendet werden, und alle installierten Bibliotheken werden automatisch verknüpft.

Hinweis

vcpkg install erstellt Debug- und Releasekonfigurationen für eine Bibliothek. Um nur Versionsbibliotheken zu erstellen, fügen Sie VCPKG_RELEASE_ONLY Ihrem Triplet hinzu.

  1. Führen Sie die Anwendung aus.

    Führen Sie schließlich die ausführbare Datei aus:

    Ausführen der ausführbaren Datei

    Screenshot der Visual Studio-Benutzeroberfläche zum Ausführen der ausführbaren Datei.

    Die folgende Ausgabe sollte angezeigt werden:

    Programmausgabe

    Screenshot der Programmausgabe - "Hallo Welt!"

Nächste Schritte

Weitere Informationen zur vcpkg.json Vcpkg MSBuild-Integration finden Sie in unserer Referenzdokumentation: