Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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.gitKurá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
vcpkgadresáře a spusťte spouštěcí skript:cd vcpkg && bootstrap-vcpkg.batcd vcpkg; .\bootstrap-vcpkg.batcd vcpkg && ./bootstrap-vcpkg.shSkript 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_ROOTprostř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.
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
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
Nastavení
VCPKG_ROOTpomáhá sadě Visual Studio najít instanci vcpkg. Přidáním zajistíte, žePATHmůž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 --applicationPříkaz
vcpkg newpřidávcpkg.jsonsoubor avcpkg-configuration.jsonsoubor do adresáře projektu.fmtPřidejte balíček jako závislost:vcpkg add port fmtVaše teď
vcpkg.jsonby 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.jsonsoubor 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.jsonsoubor 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.cppObsah 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ífmtknihovny. Funkcemain()voláfmt::print()výstup zprávy "Hello World!" do konzoly.Nakonfigurujte
CMakePresets.jsonsoubor.CMake může automaticky propojit knihovny nainstalované nástrojem vcpkg, pokud
CMAKE_TOOLCHAIN_FILEje nastavená tak, aby používala vlastní sadu nástrojů vcpkg. To může být dokončeno pomocí přednastavení CMake soubory.Upravte
CMakePresets.jsontak, 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.jsons následujícím obsahem:{ "version": 2, "configurePresets": [ { "name": "default", "inherits": "vcpkg", "environment": { "VCPKG_ROOT": "<path to vcpkg>" } } ] }Soubor
CMakePresets.jsonobsahuje jednu předvolbu s názvem "vcpkg", která nastaví proměnnouCMAKE_TOOLCHAIN_FILE. SouborCMakeUserPresets.jsonnastaví proměnnouVCPKG_ROOTprostředí tak, aby odkazovat na absolutní cestu obsahující vaši místní instalaci vcpkg. Doporučuje se nekontrolovatCMakeUserPresets.jsonsystémy správy verzí.Úprava souboru
CMakeLists.txt.Obsah souboru
CMakeLists.txtnahraď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.txtsouboru:-
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íhofmtsouboru CMake. KlíčovéREQUIREDslovo 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, žeHelloWorldspustitelný soubor by měl odkazovat na knihovnufmt. KlíčovéPRIVATEslovo označuje, žefmtje potřeba pouze pro sestavováníHelloWorlda nemělo by se šířit do jiných závislých projektů.
-
4. Sestavení a spuštění projektu
Sestavte projekt.
Sestavte projekt pomocí možnosti
Build > Build Allz nabídky nahoře.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.jsonv referenční dokumentaci: