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 aplikace pro Univerzální Windows Platform, desktopové aplikace, ovladače zařízení a komponenty .NET.

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

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

Požadavky

Abyste tento názorný postup dokončili, musíte mít nainstalovanou Visual Studio a volitelnou desktopovou vývojovou úlohu pomocí C++ nebo nástroje příkazového řádku Build Tools for 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 Visual Studio Community edici a všechny mohou podporovat vývoj v jazyce C a C++. Informace o tom, jak stáhnout a nainstalovat Visual Studio, najdete v tématu Instalace podpory C++ v Visual Studio.

Build Tools for Visual Studio nainstaluje pouze kompilátory, nástroje a knihovny příkazového řádku, které potřebujete k vytváření programů v jazyce C a C++. Je ideální pro sestavování testovacích prostředí nebo cvičení v učebnách a relativně rychle se instaluje. Pokud chcete nainstalovat jenom nástroje příkazového řádku, vyhledejte buildovací nástroje pro Visual Studio na Visual Studio soubory ke stažení.

Před sestavením programu C nebo C++ na příkazovém řádku ověřte, že jsou nástroje nainstalované a máte k nim přístup z příkazového řádku. Visual C++ má složité požadavky na to, aby prostředí příkazového řádku našly nástroje, hlavičky a knihovny, které používá. Bez přípravy nemůžete Visual C++ v prostém okně příkazového řádku. Naštěstí Visual C++ zástupce, abyste spouštěli příkazový řádek pro vývojáře, který má nastavené prostředí pro sestavení příkazového řádku. Názvy zástupců příkazového řádku pro vývojáře a jejich polohu se bohužel v téměř každé verzi nástroje Visual C++ liší od různých verzí Windows. Vaším prvním úkolem je najít tu správnou, 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. Pokud používáte běžné okno příkazového řádku, musíte tyto hodnoty prostředí nastavit sami. Další informace najdete v tématu Použití MSVC nástrojů z příkazového řádku. Místo vytváření vlastních nástrojů doporučujeme použít zástupce příkazového řádku pro vývojáře.

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

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

    Pokud jste nainstalovali Microsoft Visual C++ Build Tools 2015 v Windows 10 nebo novějším, otevřete nabídku Start a zvolte Všechny aplikace. Posuňte se dolů a otevřete Visual C++ Build Tools (Nástroje sestavení). Zvolte Visual C++ 2015 x86 Native Tools Command Prompt a otevřete okno příkazového řádku.

    Můžete také použít funkci Windows search a vyhledat "developer command prompt" a vybrat tu, která odpovídá vaší nainstalované verzi Visual Studio. Pomocí zástupce otevřete okno příkazového řádku.

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

    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í mohou být rozdíly. Tyto hodnoty závisí na verzi Visual C++ a všech nainstalovaných aktualizacích. Pokud se výše uvedený výstup podobá tomu, co vidíte, můžete na příkazovém řádku vytvářet programy v jazyce C nebo C++.

    Poznámka

    Pokud se při spuštění příkazu zobrazí chyba typu "'cl' se nerozpozná jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor", chyba C1034 nebo chyba LNK1104, pak buď nepoužíváte příkazový řádek pro vývojáře, nebo je něco v pořádku s instalací cl Visual C++. Než budete moci 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í zobrazí chybová zpráva, může Visual C++ cl instalace aplikace problém. Zkuste znovu nainstalovat Visual C++ v Visual Studio nebo znovu nainstalovat Microsoft Visual C++ Build Tools. Nepochádněte k další části, dokud cl příkaz nebude fungovat. Další informace o instalaci nástroje a řešení Visual C++ najdete v tématu Instalace Visual Studio.

    Poznámka

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

Vytvořte Visual C++ soubor a zkompilujte ho na příkazovém řádku.

  1. V okně příkazového řádku pro vývojáře zadáním příkazu vytvořte adresář a zadáním md c:\hellocd c:\hello příkazu změňte adresář na tento adresář. V tomto adresáři se vytvoří váš zdrojový soubor i zkompilovaný program.

  2. Do notepad hello.cpp okna příkazového řádku zadejte .

    Zvolte Ano, Poznámkový blok vás vyzve k vytvoření nového souboru. Tento krok otevře prázdné Poznámkový blok okno, ve které můžete zadat kód 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 se ukončí. Pokud chcete minimalizovat chyby, zkopírujte tento kód a vložte ho 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 vývojáře. Na dir příkazovém řádku zadejte , aby se vykázal obsah adresáře c:\hello. Ve výpisu adresáře by se měl zobrazit zdrojový soubor hello.cpp, který vypadá nějak takhle:

    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 se váš soubor se zdrojovým kódem nevidíte, ujistěte se, že aktuální pracovní adresář na příkazovém řádku je adresář, hello.cppC:\hello který jste vytvořili. Ujistěte se také, že se jedná o adresář, kam jste uložili zdrojový soubor. A ujistěte se, že jste uložili zdrojový kód s .cpp příponou názvu souboru, ne .txt s příponou . Zdrojový soubor se automaticky uloží do aktuálního adresáře jako soubor, pokud Poznámkový blok na příkazovém řádku .cpp pomocí notepad hello.cpp příkazu . Poznámkový blok se liší, pokud ho otevřete jiným způsobem: Ve výchozím nastavení Poznámkový blok připojí příponu k novým souborům, když je .txt uložíte. Zároveň se ve výchozím nastavení ukládá soubory do adresáře Dokumenty. Pokud chcete soubor uložit s .cpp příponou v Poznámkový blok, zvolte .cpp>> V dialogovém okně Uložit jako přejděte do složky v ovládacím prvku zobrazení stromu adresáře. Potom pomocí ovládacího prvku rozevíracího seznamu Uložit jako typ vyberte Všechny soubory (*.*). Do ovládacího prvku Pro úpravy název souboru zadejte a hello.cpp pak soubor uložte výběrem možnosti Uložit. hello.cpp

  6. Na příkazovém řádku pro vývojáře zadejte a cl /EHsc hello.cpp zkompilujte svůj program.

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

    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' se nerozpozná jako interní nebo externí příkaz, spustitelný program nebo dávkový soubor", chyba C1034 nebo chyba LNK1104, příkazový řádek vývojáře se nenastaví správně. Informace o tom, jak tento problém vyřešit, najdete v části Otevření příkazového řádku vývojáře.

    Poznámka

    Pokud se zobrazí jiná chyba nebo upozornění kompilátoru nebo linkeru, zkontrolujte zdrojový kód, 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. Pokud chcete hello.exe program, zadejte na příkazovém řádku hello .

    Program zobrazí tento text a ukončí se:

    Hello, world, from Visual C++!
    

    Blahopřejeme, pomocí nástrojů příkazového řádku jste zkompilili a spouštěl program v jazyce C++.

Další kroky

Tento příklad "Hello, World" je přibližně tak jednoduchý, jak může program jazyka C++ získat. Reálné programy mají obvykle hlavičkové soubory, více zdrojových souborů a odkaz na knihovny.

Kroky v tomto názorném postupu můžete použít k vytvoření vlastního kódu C++ místo psaní ukázkového kódu, který se zobrazí. Tyto kroky vám také umožňují vytvořit mnoho ukázkových programů v jazyce C++, které najdete jinde. Zdrojový kód můžete umístit a vytvářet aplikace v libovolném zapisovatelném adresáři. Integrované vývojové prostředí (IDE Visual Studio ve výchozím nastavení vytvoří projekty ve složce uživatele v podsložce source\repos. Starší verze mohou umístit projekty do složky *Documents\Visual Studio < \ ><

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 instruuje kompilátor, aby umožnil standardní chování zpracování výjimek jazyka C++. Bez něj mohou vyvolané výjimky vést k nezlikvidování objektů a úniků 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ě je výstupem programu s názvem file1.exe. Pokud chcete změnit název na program1.exe, přidejte možnost linkeru /out:

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

A pokud chcete automaticky zachytit další chyby programování, doporučujeme kompilovat buď pomocí možnosti úrovně 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 zadáním cl /? na příkazovém řádku vývojáře. Můžete také kompilovat a propojit samostatně a použít možnosti linkeru ve složitějších scénářích sestavení. Další informace o možnostech a použití kompilátoru a linkeru najdete v referenčních informacích k sestavení jazyka C/C++.

Pomocí nástroje NMAKE a souborů pravidel, souborů MSBuild a projektů nebo CMake můžete konfigurovat a sestavovat složitější projekty na příkazovém řádku. Další informace o používání těchto nástrojů najdete v tématu NmAKE –referenční informace , MSBuilda projekty CMake v nástroji 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. Ve výchozím nastavení zpracovává MSVC, které končí jako zdrojový kód jazyka C, a soubory, které končí .c.cpp jako zdrojový kód jazyka C++. Pokud chcete kompilátor vynutit, aby se se všemi soubory zac pracuje jako s 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á je v souladu se standardem ISO C99, s menšími výjimkami. Přenosný kód se obvykle kompiluje a spouští podle očekávání. Některé zastaralé funkce knihovny a několik názvů funkcí POSIX jsou v kompilátoru MSVC zastaralé. Funkce jsou podporované, ale upřednostňované názvy se změnily. Další informace najdete 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í
MSVC kompilátoru