Sdílet prostřednictvím


Kurz: Instalace a používání balíčků pomocí CMake v sadě Visual Studio

V tomto kurzu se dozvíte, jak vytvořit program "Hello World" jazyka C++, který používá knihovnu fmt s CMake, vcpkg a sadou Visual Studio. Nainstalujete závislosti, nakonfigurujete, sestavíte a spustíte jednoduchou aplikaci.

Požadavky

1. Nastavení vcpkg

  1. Klonování úložiště

    Prvním krokem je klonování úložiště vcpkg z GitHubu. Úložiště obsahuje skripty pro získání spustitelného souboru vcpkg a registru kurátorovaných opensourcových knihoven spravovaných komunitou vcpkg. Provedete to spuštěním tohoto příkazu:

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

    Kurátorovaný registr vcpkg je sada více než 2 000 opensourcových knihoven. Tyto knihovny ověřily kanály kontinuální integrace vcpkg, aby spolupracovaly. I když úložiště vcpkg neobsahuje zdrojový kód pro tyto knihovny, obsahuje recepty a metadata pro sestavení a instalaci v systému.

  2. Spuštění skriptu bootstrap

    Teď, když jste naklonovali úložiště vcpkg, přejděte do vcpkg adresáře a spusťte spouštěcí skript:

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

    Skript bootstrap provádí kontroly požadovaných součástí a stáhne spustitelný soubor vcpkg.

    A je to! Vcpkg je nastavena a připravena k použití.

2. Nastavení projektu sady Visual Studio

  1. Vytvoření projektu sady Visual Studio

    • Vytvoření nového projektu v sadě Visual Studio pomocí šablony "Projekt CMake"

    vytvoření nového projektu CMake

    Snímek obrazovky s uživatelským rozhraním sady Visual Studio pro zobrazení postupu vytvoření nového projektu CMake v sadě Visual Studio

    • Pojmenujte projekt "helloworld"
    • Zaškrtněte políčko Umístit řešení a projekt do stejného adresáře.
    • Klikněte na tlačítko Vytvořit.

    pojmenování projektu CMake

    Snímek obrazovky uživatelského rozhraní sady Visual Studio pro pojmenování projektu CMake a kliknutí na tlačítko Vytvořit

  2. Nakonfigurujte proměnnou VCPKG_ROOT prostředí.

    Poznámka:

    Nastavení proměnných prostředí tímto způsobem ovlivní pouze aktuální relaci terminálu. Pokud chcete tyto změny provést trvale ve všech relacích, nastavte je na panelu Proměnných systému Windows.

    Otevřete integrované okno Developer PowerShellu v sadě Visual Studio.

    otevření integrovaného vývojářského powershellu

    Snímek obrazovky s uživatelským rozhraním sady Visual Studio pro integrované okno pro vývojáře v PowerShellu

    Spusťte následující příkazy:

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

    nastavení proměnných prostředí

    Snímek obrazovky uživatelského rozhraní sady Visual Studio pro integrované okno pro vývojáře PowerShellu znázorňující, jak nastavit VCPKG_ROOT a přidat ho do path

    Otevřete příkazový řádek Vývojář v sadě Visual Studio.

    otevřete příkazový řádek pro vývojáře sady Visual Studio.

    Snímek obrazovky uživatelského rozhraní sady Visual Studio pro příkazový řádek pro vývojáře

    Spusťte následující příkazy:

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

    nastavení proměnných prostředí

    Snímek obrazovky s příkazovým řádkem pro vývojáře v sadě Visual Studio znázorňující, jak nastavit VCPKG_ROOT a přidat ho do path

    Nastavení VCPKG_ROOT pomáhá sadě Visual Studio najít instanci vcpkg. Přidáním zajistíte, že PATH můžete spouštět příkazy vcpkg přímo z prostředí.

  3. Vygenerujte soubor manifestu a přidejte závislosti.

    Spuštěním následujícího příkazu vytvořte soubor manifestu vcpkg (vcpkg.json):

    vcpkg new --application
    

    Příkaz vcpkg new přidá vcpkg.json soubor a vcpkg-configuration.json soubor do adresáře projektu.

    fmt Přidejte balíček jako závislost:

    vcpkg add port fmt
    

    Vaše teď vcpkg.json by měla obsahovat:

    {
        "dependencies": [
            "fmt"
        ]
    }
    

    Toto je váš soubor manifestu. Vcpkg přečte soubor manifestu a zjistí, jaké závislosti se mají nainstalovat a integrovat s CMake, aby poskytoval závislosti vyžadované vaším projektem.

    Vygenerovaný vcpkg-configuration.json soubor představuje směrný plán , který u závislostí projektu umístí omezení minimální verze. Úprava tohoto souboru je nad rámec tohoto kurzu. I když se v tomto kurzu nedá použít, je vhodné zachovat vcpkg-configuration.json soubor pod správou zdrojového kódu, abyste zajistili konzistenci verzí v různých vývojových prostředích.

3. Nastavení souborů projektu

  1. Upravte soubor helloworld.cpp.

    helloworld.cpp Obsah nahraďte následujícím kódem:

    #include <fmt/core.h>
    
    int main()
    {
        fmt::print("Hello World!\n");
        return 0;
    }
    

    Tento zdrojový soubor obsahuje hlavičku <fmt/core.h> , která je součástí fmt knihovny. Funkce main() volá fmt::print() výstup zprávy "Hello World!" do konzoly.

  2. Nakonfigurujte CMakePresets.json soubor.

    CMake může automaticky propojit knihovny nainstalované nástrojem vcpkg, pokud CMAKE_TOOLCHAIN_FILE je nastavená tak, aby používala vlastní sadu nástrojů vcpkg. To může být dokončeno pomocí přednastavení CMake soubory.

    Upravte CMakePresets.json tak, aby odpovídal následujícímu obsahu:

    {
      "version": 2,
      "configurePresets": [
        {
          "name": "vcpkg",
          "generator": "Ninja",
          "binaryDir": "${sourceDir}/build",
          "cacheVariables": {
            "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
          }
        }
      ]
    }
    

    Vytvořte CMakeUserPresets.json s následujícím obsahem:

    {
        "version": 2,
        "configurePresets": [
          {
            "name": "default",
            "inherits": "vcpkg",
            "environment": {
              "VCPKG_ROOT": "<path to vcpkg>"
            }
          }
        ]
      }
    

    Soubor CMakePresets.json obsahuje jednu předvolbu s názvem "vcpkg", která nastaví proměnnou CMAKE_TOOLCHAIN_FILE . Soubor CMakeUserPresets.json nastaví proměnnou VCPKG_ROOT prostředí tak, aby odkazovat na absolutní cestu obsahující vaši místní instalaci vcpkg. Doporučuje se nekontrolovat CMakeUserPresets.json systémy správy verzí.

  3. Úprava souboru CMakeLists.txt.

    Obsah souboru CMakeLists.txt nahraďte následujícím kódem:

    cmake_minimum_required(VERSION 3.10)
    
    project(HelloWorld)
    
    find_package(fmt CONFIG REQUIRED)
    
    add_executable(HelloWorld helloworld.cpp)
    
    target_link_libraries(HelloWorld PRIVATE fmt::fmt)
    

    Pojďme teď rozdělit jednotlivé řádky v CMakeLists.txt souboru:

    • cmake_minimum_required(VERSION 3.10): Určuje, že minimální verze CMake potřebná k sestavení projektu je 3.10. Pokud je verze CMake nainstalovaná ve vašem systému nižší, sestavení se nezdaří.
    • project(HelloWorld): Nastaví název projektu na "HelloWorld".
    • find_package(fmt CONFIG REQUIRED): Vyhledá knihovnu pomocí konfiguračního fmt souboru CMake. Klíčové REQUIRED slovo zajistí, že se vygeneruje chyba, pokud se balíček nenajde.
    • add_executable(HelloWorld helloworld.cpp): Přidá spustitelný cíl s názvem "HelloWorld", vytvořený ze zdrojového souboru helloworld.cpp.
    • target_link_libraries(HelloWorld PRIVATE fmt::fmt): Určuje, že HelloWorld spustitelný soubor by měl odkazovat na knihovnu fmt . Klíčové PRIVATE slovo označuje, že fmt je potřeba pouze pro sestavování HelloWorld a nemělo by se šířit do jiných závislých projektů.

4. Sestavení a spuštění projektu

  1. Sestavte projekt.

    Stisknutím klávesy Ctrl+Shift+B sestavte projekt v sadě Visual Studio.

  2. Aplikaci spusťte.

    Nakonec spusťte spustitelný soubor:

    Spuštění spustitelného souboru

    Snímek obrazovky s uživatelským rozhraním sady Visual Studio pro spuštění spustitelného souboru

    Měl by se zobrazit výstup:

    Výstup programu

    Snímek obrazovky s výstupy programu – Hello World!

Další kroky

Další informace najdete vcpkg.jsonv referenční dokumentaci: