Share via


Návod: Kompilace nativního programu C++ v příkazovém řádku

Visual Studio obsahuje kompilátor C a C++ příkazového řádku. Můžete ho použít k vytvoření všeho od základních konzolových aplikací až po Univerzální platforma Windows aplikace, desktopové aplikace, ovladače zařízení a komponenty .NET.

V tomto názorném postupu vytvoříte základní program "Hello, World" ve stylu C++ pomocí textového editoru a pak ho zkompilujete na příkazovém řádku. Pokud chcete místo použití příkazového řádku vyzkoušet integrované vývojové prostředí sady Visual Studio, přečtěte si téma Návod: Práce s projekty a řešeními (C++) nebo Použití integrovaného vývojového prostředí sady Visual Studio pro vývoj desktopových aplikací jazyka C++.

V tomto názorném postupu můžete místo zadání zobrazeného programu použít vlastní program C++. Nebo můžete použít ukázku kódu C++ z jiného článku nápovědy.

Požadavky

K dokončení tohoto návodu musíte mít nainstalovanou sadu Visual Studio a volitelný vývoj desktopových aplikací pomocí úloh C++ nebo nástroje sestavení příkazového řádku pro Visual Studio.

Visual Studio je integrované vývojové prostředí (IDE). Podporuje plnohodnotný editor, správce prostředků, ladicí programy a kompilátory pro mnoho jazyků a platforem. Dostupné verze zahrnují bezplatnou edici Visual Studio Community a všechny můžou podporovat vývoj v jazyce C a C++. Informace o tom, jak stáhnout a nainstalovat Visual Studio, naleznete v tématu Instalace podpory jazyka C++ v sadě Visual Studio.

Nástroje sestavení pro Visual Studio nainstalují pouze kompilátory, nástroje a knihovny příkazového řádku, které potřebujete k sestavení programů jazyka C a C++. Je ideální pro sestavení cvičení nebo cvičení v učebnách a poměrně rychle se instaluje. Pokud chcete nainstalovat jenom nástroje příkazového řádku, vyhledejte na stránce Stažené soubory sady Visual Studio nástroje buildu pro Visual Studio.

Než budete moct vytvořit program C nebo C++ na příkazovém řádku, ověřte, že jsou nástroje nainstalované a že k nim máte přístup z příkazového řádku. Visual C++ má složité požadavky pro prostředí příkazového řádku k vyhledání nástrojů, hlaviček a knihoven, které používá. Visual C++ nemůžete použít v okně příkazového řádku bez přípravy. Visual C++ naštěstí nainstaluje klávesové zkratky pro spuštění příkazového řádku pro vývojáře, který má prostředí nastavené pro sestavení příkazového řádku. Názvy zástupců příkazového řádku pro vývojáře a jejich umístění se bohužel liší téměř ve všech verzích Visual C++ a v různých verzích Windows. Vaším prvním návodem je nalezení správného návodu, který se má použít.

Poznámka

Zástupce příkazového řádku vývojáře automaticky nastaví správné cesty pro kompilátor a nástroje a pro všechny požadované hlavičky a knihovny. Tyto hodnoty prostředí musíte nastavit sami, pokud používáte běžné okno příkazového řádku . Další informace naleznete v tématu Použití sady nástrojů MSVC z příkazového řádku. Místo vytváření vlastních příkazů doporučujeme použít zástupce příkazového řádku pro vývojáře.

Otevření příkazového řádku pro vývojáře

  1. Pokud jste nainstalovali Visual Studio 2017 nebo novější ve Windows 10 nebo novějším, otevřete nabídka Start a zvolte Všechny aplikace. Posuňte se dolů a otevřete složku sady Visual Studio (ne aplikaci Visual Studio). Zvolte Příkazový řádek pro vývojáře pro VS a otevřete okno příkazového řádku.

    Pokud jste nainstalovali Microsoft Visual C++ Build Tools 2015 ve Windows 10 nebo novějším, otevřete nabídku Start a zvolte Všechny aplikace. Posuňte se dolů a otevřete složku Visual C++ Build Tools . Příkazový řádek nativních nástrojů jazyka Visual C++ 2015 x86 otevřete okno příkazového řádku.

    Funkci vyhledávání ve Windows můžete použít také k vyhledání příkazového řádku pro vývojáře a k výběru toho, který odpovídá vaší nainstalované verzi sady Visual Studio. Pomocí zástupce otevřete okno příkazového řádku.

  2. Dále ověřte, že je správně nastavený příkazový řádek vývojáře Visual C++. V okně příkazového řádku zadejte a ověřte cl , že výstup vypadá přibližně takto:

    C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise>cl
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    usage: cl [ option... ] filename... [ /link linkoption... ]
    

    V aktuálním adresáři nebo číslech verzí můžou být rozdíly. Tyto hodnoty závisí na verzi jazyka Visual C++ a na všech nainstalovaných aktualizacích. Pokud je výše uvedený výstup podobný tomu, co vidíte, můžete na příkazovém řádku sestavit programy jazyka C nebo C++.

    Poznámka

    Pokud se při spuštění příkazu zobrazí chyba "cl" není rozpoznána jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor," chyba C1034 nebo chyba LNK1104 při spuštění cl příkazu, pak buď nepoužíváte příkazový řádek pro vývojáře, nebo je něco špatně s instalací visual C++. Než budete moct pokračovat, musíte tento problém vyřešit.

    Pokud nemůžete najít zástupce příkazového řádku pro vývojáře nebo pokud se při zadávání clzobrazí chybová zpráva, může dojít k problému s instalací jazyka Visual C++. Zkuste přeinstalovat komponentu Visual C++ v sadě Visual Studio nebo přeinstalovat nástroje Microsoft Visual C++ Build Tools. Nepřechávejte k další části, dokud cl příkaz nebude fungovat. Další informace o instalaci a řešení potíží se sadou Visual C++ naleznete v tématu Instalace sady Visual Studio.

    Poznámka

    V závislosti na verzi systému Windows v počítači a konfiguraci zabezpečení systému možná budete muset pravým tlačítkem myši otevřít místní nabídku zástupce příkazového řádku pro vývojáře a potom zvolit Spustit jako správce , aby se úspěšně sestavil a spustil program, který vytvoříte podle tohoto návodu.

Vytvoření zdrojového souboru Visual C++ a jeho kompilace na příkazovém řádku

  1. V okně příkazového řádku vývojáře zadejte md c:\hello , abyste vytvořili adresář, a pak zadejte cd c:\hello , aby se tento adresář změnil. Tento adresář je místo, kde se vytvoří zdrojový soubor i zkompilovaný program.

  2. Zadejte notepad hello.cpp do okna příkazového řádku.

    Pokud Poznámkový blok zobrazí výzvu k vytvoření nového souboru, zvolte Ano. Tento krok otevře prázdné okno Poznámkový blok, které je připravené k zadání kódu do souboru s názvem hello.cpp.

  3. Do Poznámkový blok zadejte následující řádky kódu:

    #include <iostream>
    using namespace std;
    int main()
    {
        cout << "Hello, world, from Visual C++!" << endl;
    }
    

    Tento kód je jednoduchý program, který napíše jeden řádek textu na obrazovce a pak ukončí. Pokud chcete minimalizovat chyby, zkopírujte tento kód a vložte ho do Poznámkový blok.

  4. Uložte si práci! V Poznámkový blok v nabídce Soubor zvolte Uložit.

    Blahopřejeme, vytvořili jste zdrojový soubor C++, hello.cpp, který je připravený ke kompilaci.

  5. Přepněte zpět do okna příkazového řádku pro vývojáře. Do příkazového řádku zadejte dir seznam obsahu adresáře c:\hello. Ve výpisu adresáře by se měl zobrazit zdrojový soubor hello.cpp, který vypadá nějak takto:

    c:\hello>dir
     Volume in drive C has no label.
     Volume Serial Number is CC62-6545
    
     Directory of c:\hello
    
    05/24/2016  05:36 PM    <DIR>          .
    05/24/2016  05:36 PM    <DIR>          ..
    05/24/2016  05:37 PM               115 hello.cpp
                   1 File(s)            115 bytes
                   2 Dir(s)  571,343,446,016 bytes free
    
    

    Data a další podrobnosti se budou v počítači lišit.

    Poznámka

    Pokud soubor zdrojového kódu nevidíte, ujistěte se, že aktuální pracovní adresář v příkazovém C:\hello řádku je adresář, hello.cppkterý jste vytvořili. Ujistěte se také, že se jedná o adresář, do kterého jste uložili zdrojový soubor. A ujistěte se, že jste zdrojový kód uložili s příponou .cpp názvu souboru, ne s příponou .txt . Zdrojový soubor se uloží do aktuálního adresáře jako .cpp soubor automaticky, pokud otevřete Poznámkový blok na příkazovém řádku pomocí notepad hello.cpp příkazu. Poznámkový blok chování se liší, pokud ho otevřete jiným způsobem: ve výchozím nastavení Poznámkový blok při jejich uložení připojí příponu .txt k novým souborům. Výchozí nastavení je také ukládání souborů v adresáři Dokumenty . Pokud chcete soubor uložit s příponou .cpp v Poznámkový blok, zvolte File Save As (Uložit jako).> V dialogovém okně Uložit jako přejděte do C:\hello složky v ovládacím prvku stromového zobrazení adresáře. Potom pomocí rozevíracího seznamu Uložit jako typ vyberte Všechny soubory (*.*). Zadejte hello.cpp do ovládacího prvku Úpravy názvu souboru a pak zvolte Uložit soubor.

  6. Na příkazovém řádku vývojáře zadejte cl /EHsc hello.cpp , aby se program zkompiloval.

    Kompilátor cl.exe vygeneruje soubor .obj, který obsahuje zkompilovaný kód, a potom spustí linker pro vytvoření spustitelného programu s názvem hello.exe. Tento název se zobrazí v řádcích výstupních informací, které kompilátor zobrazí. Výstup kompilátoru by měl vypadat nějak takto:

    c:\hello>cl /EHsc hello.cpp
    Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25017 for x86
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    hello.cpp
    Microsoft (R) Incremental Linker Version 14.10.25017.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    /out:hello.exe
    hello.obj
    

    Poznámka

    Pokud se zobrazí chyba typu cl není rozpoznána jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor, chyba C1034 nebo chyba LNK1104, příkazový řádek pro vývojáře není správně nastavený. Informace o tom, jak tento problém vyřešit, najdete v části Otevřít vývojářský příkazový řádek .

    Poznámka

    Pokud se zobrazí jiná chyba kompilátoru nebo linkeru nebo upozornění, zkontrolujte zdrojový kód a opravte případné chyby, uložte ho a spusťte kompilátor znovu. Pokud chcete získat informace o konkrétních chybách, vyhledejte číslo chyby pomocí vyhledávacího pole.

  7. Chcete-li spustit program hello.exe, na příkazovém řádku zadejte hello.

    Program zobrazí tento text a ukončí:

    Hello, world, from Visual C++!
    

    Blahopřejeme, zkompilovali jste a spustili program C++ pomocí nástrojů příkazového řádku.

Další kroky

Tento příklad "Hello, World" je asi tak jednoduchý jako program C++, který může získat. Skutečné programy obvykle obsahují soubory hlaviček, více zdrojových souborů a odkazy na knihovny.

Kroky v tomto názorném postupu můžete použít k vytvoření vlastního kódu C++ místo zadání ukázkového kódu, který je zobrazený. Tyto kroky také umožňují vytvořit mnoho ukázkových programů kódu C++, které najdete jinde. Zdrojový kód můžete vložit a sestavit aplikace do libovolného zapisovatelného adresáře. Integrované vývojové prostředí sady Visual Studio ve výchozím nastavení vytváří projekty ve složce uživatele ve zdrojové podsložce\repos . Starší verze můžou umístit projekty do složky Documents\Visual Studio <version>\Projects .

Pokud chcete zkompilovat program, který obsahuje další soubory zdrojového kódu, zadejte je všechny na příkazovém řádku, například:

cl /EHsc file1.cpp file2.cpp file3.cpp

Možnost /EHsc příkazového řádku dává kompilátoru pokyn, aby povolil standardní chování zpracování výjimek jazyka C++. Bez ní mohou vyvolané výjimky vést k nedestruovaným objektům a únikům prostředků. Další informace najdete v tématu /EH (model zpracování výjimek).

Když zadáte další zdrojové soubory, kompilátor použije první vstupní soubor k vytvoření názvu programu. V tomto případě výstupem programu s názvem file1.exe. Chcete-li změnit název na program1.exe, přidejte možnost /out linker:

cl /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

A pokud chcete zachytit více programovacích chyb automaticky, doporučujeme zkompilovat pomocí možnosti upozornění /W3 nebo /W4 :

cl /W4 /EHsc file1.cpp file2.cpp file3.cpp /link /out:program1.exe

Kompilátor cl.exe má mnoho dalších možností. Můžete je použít k sestavení, optimalizaci, ladění a analýze kódu. Rychlý seznam zobrazíte tak, že zadáte cl /? příkazový řádek pro vývojáře. V složitějších scénářích sestavení můžete také kompilovat a odkazovat samostatně a použít možnosti linkeru. Další informace o možnostech kompilátoru a použití linkeru najdete v tématu Referenční dokumentace k sestavení jazyka C/C++.

Ke konfiguraci a sestavování složitějších projektů na příkazovém řádku můžete použít NMAKE a soubory pravidel, MSBuild a soubory projektů nebo CMake. Další informace o použití těchto nástrojů naleznete v tématu NMAKE Reference, MSBuild a CMake projekty v sadě Visual Studio.

Jazyky C a C++ jsou podobné, ale ne stejné. Kompilátor MSVC používá jednoduché pravidlo k určení jazyka, který se má použít při kompilaci kódu. Kompilátor MSVC ve výchozím nastavení zpracovává soubory, které končí .c jako zdrojový kód jazyka C, a soubory, které končí .cpp jako zdrojový kód jazyka C++. Chcete-li vynutit, aby kompilátor zpracovával všechny soubory jako C++ nezávisle na příponě názvu souboru, použijte možnost kompilátoru /TP .

Kompilátor MSVC obsahuje knihovnu C Runtime Library (CRT), která odpovídá standardu ISO C99 s dílčími výjimkami. Přenosný kód se obvykle zkompiluje a spouští podle očekávání. Některé zastaralé funkce knihovny a několik názvů funkcí POSIX je v kompilátoru MSVC zastaralé. Funkce jsou podporované, ale upřednostňované názvy se změnily. Další informace naleznete v tématu Funkce zabezpečení v CRT a Upozornění kompilátoru (úroveň 3) C4996.

Viz také

Referenční dokumentace jazyka C++
Projekty a systémy sestavení
Parametry kompilátoru MSVC