Samouczek: instalowanie i używanie pakietów za pomocą programu MSBuild w programie Visual Studio

W tym samouczku pokazano, jak utworzyć program "Hello World" języka C++, który używa biblioteki z programem fmt MSBuild, vcpkg i Visual Studio. Zainstalujesz zależności, skonfigurujesz, skompilujesz i uruchomisz prostą aplikację.

Wymagania wstępne:

1 — Konfigurowanie programu vcpkg

  1. Klonowanie repozytorium

    Pierwszym krokiem jest sklonowanie repozytorium vcpkg z usługi GitHub. Repozytorium zawiera skrypty w celu uzyskania pliku wykonywalnego vcpkg i rejestru wyselekcjonowanych bibliotek open source obsługiwanych przez społeczność programu vcpkg. Aby to zrobić, uruchom polecenie:

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

    Rejestr wyselekcjonowanych vcpkg to zestaw ponad 2000 bibliotek typu open source. Te biblioteki zostały zweryfikowane przez potoki ciągłej integracji vcpkg do współpracy. Chociaż repozytorium vcpkg nie zawiera kodu źródłowego dla tych bibliotek, przechowuje przepisy i metadane do kompilowania i instalowania ich w systemie.

  2. Uruchamianie skryptu bootstrap

    Po sklonowaniu repozytorium vcpkg przejdź do vcpkg katalogu i wykonaj skrypt bootstrap:

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

    Skrypt bootstrap wykonuje testy wymagań wstępnych i pobiera plik wykonywalny vcpkg.

    I już! Narzędzie vcpkg jest skonfigurowane i gotowe do użycia.

  1. Integracja z programem Visual Studio MSBuild

Następnym krokiem jest ustawienie wystąpienia programu vcpkg dla całego użytkownika, aby program MSBuild mógł go znaleźć:

.\vcpkg.exe integrate install

Zostaną zwrócone następujące dane wyjściowe:

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

2 — Konfigurowanie projektu programu Visual Studio

  1. Tworzenie projektu programu Visual Studio

    • Tworzenie nowego projektu w programie Visual Studio przy użyciu szablonu "Aplikacja konsolowa"

    tworzenie nowej aplikacji konsolowej systemu Windows w języku C++

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio przedstawiający sposób tworzenia nowej aplikacji konsolowej systemu Windows W języku C++ w programie Visual Studio

    • Nadaj projektowi nazwę "helloworld"
    • Zaznacz pole wyboru "Umieść rozwiązanie i projekt w tym samym katalogu".
    • Kliknij przycisk "Utwórz"

    nazywanie projektu MSBuild C++

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio na potrzeby nazewnictwa projektu MSBuild C++ i kliknięcia przycisku "utwórz".

  2. Skonfiguruj zmienną VCPKG_ROOT środowiskową.

    Otwórz wbudowane okno programu PowerShell dla deweloperów w programie Visual Studio.

    otwieranie wbudowanego programu PowerShell dla deweloperów

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio dla wbudowanego okna dewelopera programu PowerShell

    Uruchom następujące polecenia:

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

    Konfigurowanie zmiennych środowiskowych

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio dla wbudowanego okna dewelopera programu PowerShell pokazujący sposób konfigurowania VCPKG_ROOT i dodawania go do ścieżki.

    Uwaga

    Ustawienie zmiennych środowiskowych w ten sposób wpływa tylko na bieżącą sesję terminalu. Aby wprowadzić te zmiany na stałe we wszystkich sesjach, ustaw je za pomocą panelu Zmienne środowiskowe systemu Windows.

    Otwórz wiersz polecenia Deweloper w programie Visual Studio.

    otwieranie wiersza polecenia dla deweloperów programu Visual Studio.

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio dla dewelopera wiersza polecenia.

    Uruchom następujące polecenia:

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

    Konfigurowanie zmiennych środowiskowych

    Zrzut ekranu przedstawiający wiersz polecenia dla deweloperów programu Visual Studio przedstawiający sposób konfigurowania VCPKG_ROOT i dodawania go do ścieżki.

    Uwaga

    Ustawienie zmiennych środowiskowych w ten sposób wpływa tylko na bieżącą sesję terminalu. Aby wprowadzić te zmiany na stałe we wszystkich sesjach, ustaw je za pomocą panelu Zmienne środowiskowe systemu Windows.

    Ustawienie VCPKG_ROOT pomaga programowi Visual Studio zlokalizować wystąpienie programu vcpkg. Dodanie go w celu PATH zapewnia, że można uruchamiać polecenia vcpkg bezpośrednio z poziomu powłoki.

  3. Wygeneruj plik manifestu i dodaj zależności.

    Uruchom następujące polecenie, aby utworzyć plik manifestu vcpkg (vcpkg.json):

    vcpkg new --application
    

    Polecenie vcpkg new dodaje vcpkg.json plik i vcpkg-configuration.json plik w katalogu projektu.

    fmt Dodaj pakiet jako zależność:

    vcpkg add port fmt
    

    Twoje vcpkg.json powinny teraz zawierać:

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    Jest to plik manifestu. Narzędzie vcpkg odczytuje plik manifestu, aby dowiedzieć się, jakie zależności należy zainstalować i zintegrować z programem MSBuild, aby zapewnić zależności wymagane przez projekt.

    Wygenerowany vcpkg-configuration.json plik wprowadza plan bazowy , który nakłada minimalne ograniczenia wersji na zależności projektu. Modyfikowanie tego pliku wykracza poza zakres tego samouczka. Chociaż nie ma zastosowania w tym samouczku, dobrym rozwiązaniem jest zachowanie vcpkg-configuration.json kontroli nad plikiem w celu zapewnienia spójności wersji w różnych środowiskach deweloperskich.

3 — Konfigurowanie plików projektu

Zmodyfikuj plik helloworld.cpp.

Zastąp zawartość helloworld.cpp następującym kodem:

#include <fmt/core.h>

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

Ten plik źródłowy zawiera <fmt/core.h> nagłówek, który jest częścią fmt biblioteki. Funkcja main() wywołuje fmt::print() komunikat "Hello World!" do konsoli.

Uwaga

W projekcie wystąpi błąd, gdy program MSBuilds go po raz pierwszy. Skompiluj projekt, aby uzyskać zależności vcpkg w celu ich usunięcia.

4 — Włączanie trybu manifestu

Przejdź do stron Właściwości projektu. W obszarze Właściwości > konfiguracji vcpkg ustaw wartość YesUse vcpkg manifest . Program MSBuild sprawdza, czy ta właściwość jest ustawiona przed zainstalowaniem wszelkich zależności z manifestu programu vcpkg.

Włączanie trybu manifestu we właściwościach projektu

Zrzut ekranu przedstawiający włączanie trybu manifestu vcpkg we właściwościach projektu programu Visual Studio

Inne ustawienia, takie jak trójki, są wypełniane wartościami domyślnymi vcpkg wykrywanymi w projekcie i będą przydatne podczas konfigurowania projektu.

5 — Kompilowanie i uruchamianie projektu

  1. Skompiluj projekt.

    Naciśnij klawisz Ctrl+Shift+B , aby skompilować projekt w programie Visual Studio i uzyskać zależności narzędzia vcpkg.

Jeśli program MSBuild wykryje, że vcpkg.json plik i manifesty są włączone w projekcie, program MSBuild instaluje zależności manifestu jako krok przed kompilacją. Zależności są instalowane w katalogu w katalogu wyjściowym vcpkg_installed kompilacji projektu. Wszystkie nagłówki zainstalowane przez bibliotekę mogą być używane bezpośrednio, a wszystkie zainstalowane biblioteki zostaną automatycznie połączone.

Uwaga

vcpkg install kompiluje konfiguracje debugowania i wydania dla biblioteki. Aby tworzyć tylko biblioteki wydań, dodaj VCPKG_RELEASE_ONLY do triplet.

  1. Uruchom aplikację.

    Na koniec uruchom plik wykonywalny:

    Uruchamianie pliku wykonywalnego

    Zrzut ekranu przedstawiający interfejs użytkownika programu Visual Studio na potrzeby uruchamiania pliku wykonywalnego.

    Powinny zostać wyświetlone dane wyjściowe:

    Dane wyjściowe programu

    Zrzut ekranu przedstawiający dane wyjściowe programu — "Hello World!"

Następne kroki

Aby dowiedzieć się więcej na temat vcpkg.json integracji programu MSBuild i programu vcpkg, zobacz dokumentację referencyjną: