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
- Visual Studio s úlohou vývoje v jazyce C++ a komponentou CMake
- Git
1. Nastavení vcpkg
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.
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
Vytvoření projektu sady Visual Studio
- Vytvoření nového projektu v sadě Visual Studio pomocí šablony "Projekt 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.
Snímek obrazovky uživatelského rozhraní sady Visual Studio pro pojmenování projektu CMake a kliknutí na tlačítko Vytvořit
Nakonfigurujte proměnnou
VCPKG_ROOT
prostředí.Otevřete integrované okno Developer PowerShellu v sadě Visual Studio.
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"
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
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 příkazový řádek Vývojář v sadě 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%
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
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.
Nastavení
VCPKG_ROOT
pomáhá sadě Visual Studio najít instanci vcpkg. Přidáním zajistíte, žePATH
můžete spouštět příkazy vcpkg přímo z prostředí.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 avcpkg-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é zachovatvcpkg-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
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. Funkcemain()
voláfmt::print()
výstup zprávy "Hello World!" do konzoly.Nakonfigurujte
CMakePresets.json
soubor.- Soubor
CMakePresets.json
přejmenujte naCMakeUserPresets.json
. - Aktualizujte jeho obsah, jak je znázorněno níže. Nahraďte
<VCPKG_ROOT>
cestu k adresáři vcpkg.
{ "version": 2, "configurePresets": [ { "name": "default", "generator": "Ninja", "binaryDir": "${sourceDir}/build", "cacheVariables": { "CMAKE_TOOLCHAIN_FILE": "<VCPKG_ROOT>/scripts/buildsystems/vcpkg.cmake" } } ] }
- Vzhledem k tomu, že tento soubor obsahuje pevně zakódovanou absolutní cestu, doporučujeme tento soubor ponechat ve správě zdrojového kódu. Pokud používáte Git, přidejte
CMakeUserPresets.json
ho do souboru.gitignore
.
Soubor
CMakeUserPresets.json
obsahuje jednu předvolbu s názvem "default", tato předvolba nastavíCMAKE_TOOLCHAIN_FILE
použití souboru sady nástrojů CMake vcpkg. To umožňuje vcpkg poskytovat balíčky CMake při konfiguraci a sestavení projektu. Další informace najdete v dokumentaci k integraci Vcpkg CMake.- Soubor
Ú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 main.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íhofmt
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 souboruhelloworld.cpp
.target_link_libraries(HelloWorld PRIVATE fmt::fmt)
: Určuje, žeHelloWorld
spustitelný soubor by měl odkazovat na knihovnufmt
. KlíčovéPRIVATE
slovo označuje, žefmt
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
Sestavte projekt.
Stisknutím klávesy
Ctrl+Shift+B
sestavte projekt v sadě Visual Studio.Aplikaci spusťte.
Nakonec spusťte spustitelný soubor:
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:
Snímek obrazovky s výstupy programu – Hello World!
Další kroky
Další informace najdete vcpkg.json
v referenční dokumentaci:
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro