Sdílet prostřednictvím


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

V tomto kurzu se dozvíte, jak vytvořit program "Hello World" jazyka C++, který používá knihovnu fmt s CMake, vcpkg a editorem Visual Studio Code. 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. Vytvoření složky projektu

Poznámka:

Pokud tento kurz používáte ve Windows a jako kompilátor používáte MSVC, musíte spustit instanci editoru Visual Studio Code z příkazového řádku pro vývojáře pro VS nebo Developer PowerShell pro VS. Tím se zajistí správné nastavení cesty kompilátoru a dalších proměnných prostředí.

Vytvořte složku pro uložení souborů projektu do libovolného umístění. Pro účely tohoto kurzu vytvoříme složku s názvem "helloworld". Pak otevřete složku pomocí editoru Visual Studio Code.

mkdir helloworld
code helloworld

3. Instalace rozšíření editoru Visual Studio Code

Přejděte do zobrazení rozšíření a nainstalujte rozšíření C++. To umožňuje technologii IntelliSense jazyka C++ a navigaci v kódu.

instalace rozšíření editoru Visual Studio Code v jazyce C++

Snímek obrazovky se zobrazením rozšíření editoru Visual Studio Code s rozšířením jazyka C++

Nainstalujte rozšíření nástrojů CMake. To umožňuje podporu CMake v editoru Visual Studio Code.

instalace rozšíření CMake Tools editoru Visual Studio Code

Snímek obrazovky se zobrazením rozšíření editoru Visual Studio Code s rozšířením nástrojů CMake

4. Nastavení proměnných prostředí

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

Otevření nového terminálu v editoru Visual Studio Code: Terminál > nový terminál

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

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.

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

nastavení proměnných prostředí vcpkg

Snímek obrazovky s nastavením VCPKG_ROOT a jeho přidáním do path v terminálu editoru Visual Studio Code

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.

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.

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

Poznámka:

Nastavení proměnných prostředí pomocí export příkazu ovlivní pouze aktuální relaci prostředí. Pokud chcete tuto změnu provést trvale napříč relacemi, přidejte export příkaz do skriptu profilu vašeho prostředí (např~/.bashrc. ).~/.zshrc

export VCPKG_ROOT=/c/path/to/vcpkg
export PATH=$PATH:$VCPKG_ROOT

Nastavení VCPKG_ROOT pomáhá editoru Visual Studio Code 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í.

  1. 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) v kořenovém adresáři helloworld složky:

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, aby se dozvěděl, jaké závislosti se mají nainstalovat a integrovat s nástrojem MSBuild, 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.

5. Nastavení souborů projektu

  1. CMakeLists.txt Vytvoření souboru

Vytvořte nový soubor s názvem CMakeLists.txt v kořenové složce projektu s následujícím obsahem:

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 si 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žší, vygeneruje se chyba.
  • 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ů.
  1. helloworld.cpp Vytvořte soubor s následujícím obsahem:
#include <fmt/core.h>

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

V tomto helloworld.cpp souboru je hlavička <fmt/core.h> zahrnutá pro použití fmt knihovny. Funkce main() pak zavolá fmt::print() výstup zprávy "Hello World!" do konzoly.

Pokud chcete systému projektů CMake povolit rozpoznávání knihoven C++, které poskytuje vcpkg, budete muset zadat vcpkg.cmake soubor sady nástrojů. Pokud chcete tento postup automatizovat, vytvořte CMakePresets.json soubor v adresáři "helloworld" s následujícím obsahem:

{
  "version": 2,
  "configurePresets": [
    {
      "name": "vcpkg",
      "generator": "Ninja",
      "binaryDir": "${sourceDir}/build",
      "cacheVariables": {
        "CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake"
      }
    }
  ]
}
  1. V adresáři "helloworld" vytvořte CMakeUserPresets.json soubor s následujícím obsahem:
{
  "version": 2,
  "configurePresets": [
    {
      "name": "default",
      "inherits": "vcpkg",
      "environment": {
        "VCPKG_ROOT": "<path to vcpkg>"
      }
    }
  ]
}

Tento CMakePresets.json soubor obsahuje jednu předvolbu vcpkg pro CMake a nastaví proměnnou CMAKE_TOOLCHAIN_FILE . Umožňuje CMAKE_TOOLCHAIN_FILE systému projektů CMake rozpoznávat knihovny jazyka C++, které poskytuje vcpkg. Pouze CMakePresets.json se má vrátit se změnami do správy zdrojového kódu, pokud CMakeUserPresets.json se má používat místně.

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

  1. CMake: Build Spusťte příkaz projektu tak, že přejdete na paletu příkazů v paletě příkazů zobrazení>.

Příkaz sestavení CMake v editoru Visual Studio Code

Snímek obrazovky s výběrem příkazu sestavení CMake v editoru Visual Studio Code

Vyberte předvolbu default CMake. To umožňuje sadu nástrojů vcpkg.

Výběr přednastavení v příkazu sestavení CMake v editoru Visual Studio Code

Snímek obrazovky s výběrem přednastavení v příkazu sestavení CMake v editoru Visual Studio Code

  1. Spuštění projektu

Spusťte program:

./build/HelloWorld.exe
./build/HelloWorld

Měl by se zobrazit výstup:

Hello World!

Další kroky

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