Share via


Projekty C/C++ a systémy sestavení v sadě Visual Studio

Visual Studio můžete použít k úpravám, kompilaci a sestavení libovolného základu kódu C++ s plnou podporou IntelliSense, aniž byste museli tento kód převést na projekt sady Visual Studio nebo zkompilovat pomocí sady nástrojů MSVC. Můžete například upravit multiplatformní projekt CMake v sadě Visual Studio na počítači s Windows a pak ho zkompilovat pro Linux pomocí g++ na vzdáleném počítači s Linuxem.

Kompilace C++

Sestavení programu C++ znamená kompilaci zdrojového kódu z jednoho nebo více souborů a následné propojení těchto souborů do spustitelného souboru (.exe), dynamické knihovny (.dll) nebo statické knihovny (.lib).

Základní kompilace C++ zahrnuje tři hlavní kroky:

  • Preprocesor jazyka C++ transformuje všechny definice #directives a maker v každém zdrojovém souboru. Tím se vytvoří jednotka překladu.
  • Kompilátor C++ zkompiluje každou jednotku překladu do souborů objektů (.obj), přičemž použije všechny možnosti kompilátoru, které byly nastaveny.
  • Linker sloučí soubory objektů do jednoho spustitelného souboru a použije možnosti linkeru, které byly nastaveny.

Sada nástrojů MSVC

Kompilátor, linker Microsoft C++, standardní knihovny a související nástroje tvoří sadu nástrojů kompilátoru MSVC (označovanou také jako sada nástrojů toolchain nebo "build tools"). Ty jsou součástí sady Visual Studio. Sadu nástrojů příkazového řádku si můžete stáhnout a použít také jako bezplatný samostatný balíček. Další informace naleznete v tématu Nástroje sestavení pro Visual Studio na stránce stažené soubory sady Visual Studio.

Jednoduché programy můžete vytvářet vyvoláním kompilátoru MSVC (cl.exe) přímo z příkazového řádku. Následující příkaz přijme jeden soubor zdrojového kódu a vyvolá cl.exe k sestavení spustitelného souboru s názvem hello.exe:

cl /EHsc hello.cpp

Kompilátor (cl.exe) zde automaticky vyvolá preprocesor jazyka C++ a linker pro vytvoření konečného výstupního souboru. Další informace naleznete v tématu Sestavení na příkazovém řádku.

Sestavování systémů a projektů

Většina reálných programů používá nějaký druh systému sestavení ke správě složitosti kompilace více zdrojových souborů pro více konfigurací (ladění vs. vydání), více platforem (x86, x64, ARM atd.), vlastních kroků sestavení a dokonce i více spustitelných souborů, které je potřeba zkompilovat v určitém pořadí. Nastavíte nastavení v konfiguračních souborech sestavení a systém sestavení tento soubor přijme jako vstup před vyvolání kompilátoru. Sada souborů zdrojového kódu a konfiguračních souborů sestavení potřebných k sestavení spustitelného souboru se nazývá projekt.

Následující seznam obsahuje různé možnosti projektů sady Visual Studio – C++:

  • vytvořte projekt sady Visual Studio pomocí integrovaného vývojového prostředí sady Visual Studio a nakonfigurujte ho pomocí stránek vlastností. Projekty sady Visual Studio vytvářejí programy, které běží ve Windows. Přehled najdete v tématu Kompilace a sestavování v dokumentaci k sadě Visual Studio.

  • otevřete složku, která obsahuje soubor CMakeLists.txt. Podpora CMake je integrovaná do sady Visual Studio. Integrované vývojové prostředí (IDE) můžete použít k úpravám, testování a ladění bez jakýchkoli úprav souborů CMake. To vám umožní pracovat ve stejném projektu CMake jako ostatní, kteří můžou používat různé editory. CMake je doporučený přístup pro vývoj pro různé platformy. Další informace najdete v tématu Projekty CMake.

  • otevřete volnou složku zdrojových souborů bez souboru projektu. Visual Studio použije k sestavení souborů heuristiku. Jedná se o snadný způsob kompilace a spouštění malých konzolových aplikací. Další informace naleznete v tématu Projekty otevřít složku.

  • otevřete složku, která obsahuje soubor pravidel nebo jakýkoli jiný konfigurační soubor systému sestavení. Visual Studio můžete nakonfigurovat tak, aby volal libovolné příkazy sestavení přidáním souborů JSON do složky. Další informace naleznete v tématu Projekty otevřít složku.

  • Otevřete soubor pravidel windows v sadě Visual Studio. Další informace naleznete v tématu NMAKE Reference.

NÁSTROJ MSBuild z příkazového řádku

MsBuild můžete vyvolat z příkazového řádku předáním souboru .vcxproj spolu s možnostmi příkazového řádku. Tento přístup vyžaduje dobrou znalost nástroje MSBuild a doporučuje se pouze v případě potřeby. Další informace naleznete v tématu MSBuild.

V tomto oddílu

Projekty sady Visual Studio
Vytváření, konfigurace a sestavování projektů jazyka C++ v sadě Visual Studio pomocí nativního systému sestavení (MSBuild).

Projekty CMake
Jak kódovat, sestavovat a nasazovat projekty CMake v sadě Visual Studio

Projekty Otevřít složku
Jak pomocí sady Visual Studio kódovat, sestavovat a nasazovat projekty C++ na základě libovolného systému sestavení nebo vůbec žádný systém sestavení.

Sestavení vydaných verzí
Vytvoření a řešení potíží s optimalizovanými sestaveními vydaných verzí pro nasazení koncovým uživatelům

Použití sady nástrojů MSVC z příkazového řádku
Popisuje, jak používat kompilátor C/C++ a vytvářet nástroje přímo z příkazového řádku místo použití integrovaného vývojového prostředí sady Visual Studio.

Vytváření knihoven DLL v sadě Visual Studio
Vytvoření, ladění a nasazení knihoven DLL C/C++ (sdílených knihoven) v sadě Visual Studio

Návod: Vytvoření a použití statické knihovny
Jak vytvořit binární soubor .lib .

Sestavení izolovaných aplikací C/C++ a souběžných sestavení
Popisuje model nasazení desktopových aplikací systému Windows na základě představy izolovaných aplikací a souběžných sestavení.

Konfigurace projektů C++ pro 64bitové cíle x64
Jak cílit na 64bitový hardware x64 pomocí nástrojů pro sestavení MSVC

Konfigurace projektů C++ pro procesory ARM
Použití nástrojů pro sestavení MSVC k cílení hardwaru ARM

Optimalizace kódu
Jak optimalizovat kód různými způsoby, včetně optimalizací s asistencí programu.

Konfigurace programů pro Windows XP
Jak cílit na Systém Windows XP pomocí nástrojů pro sestavení MSVC

Referenční zdroje k sestavení programu v jazyce C/C++
Obsahuje odkazy na referenční články o vytváření programů v jazyce C++, možnostech kompilátoru a linkeru a různých nástrojích sestavení.