Dela via


Genomgång: Kompilera ett internt C++-program på kommandoraden

Visual Studio innehåller en kommandorads-C- och C++-kompilator. Du kan använda den för att skapa allt från grundläggande konsolappar till universella Windows Platform-appar, skrivbordsappar, enhetsdrivrutiner och .NET-komponenter.

I den här genomgången skapar du ett grundläggande C++-program i "Hello, World"-stil med hjälp av en textredigerare och kompilerar det sedan på kommandoraden. Om du vill prova Visual Studio IDE i stället för att använda kommandoraden läser du Genomgång: Arbeta med projekt och lösningar (C++) eller Använda Visual Studio IDE för C++ Desktop Development.

I den här genomgången kan du använda ditt eget C++-program i stället för att skriva det som visas. Du kan också använda ett C++-kodexempel från en annan hjälpartikel.

Förutsättningar

För att slutföra den här genomgången måste du ha installerat antingen Visual Studio och den valfria skrivbordsutvecklingen med C++ -arbetsbelastningen eller kommandoraden Build Tools för Visual Studio.

Visual Studio är en integrerad utvecklingsmiljö (IDE). Den stöder en fullfjädrad redigerare, resurshanterare, felsökningsprogram och kompilatorer för många språk och plattformar. Tillgängliga versioner inkluderar den kostnadsfria Visual Studio Community-utgåvan och alla kan stödja C- och C++-utveckling. Information om hur du laddar ned och installerar Visual Studio finns i Installera C++-stöd i Visual Studio.

Build Tools för Visual Studio installerar endast de kommandoradskompilatorer, verktyg och bibliotek som du behöver för att skapa C- och C++-program. Det är perfekt för att bygga labb eller klassrumsövningar och installeras relativt snabbt. Om du bara vill installera kommandoradsverktygen letar du efter Build Tools for Visual Studio på sidan Nedladdningar i Visual Studio .

Innan du kan skapa ett C- eller C++-program på kommandoraden kontrollerar du att verktygen är installerade och att du kan komma åt dem från kommandoraden. Visual C++ har komplexa krav för kommandoradsmiljön för att hitta de verktyg, rubriker och bibliotek som används. Du kan inte använda Visual C++ i ett vanligt kommandotolksfönster utan att göra några förberedelser. Som tur är installerar Visual C++ genvägar så att du kan starta en kommandotolk för utvecklare som har miljön konfigurerad för kommandoradsbyggen. Tyvärr skiljer sig namnen på genvägarna för kommandotolken för utvecklare och var de finns i nästan alla versioner av Visual C++ och i olika versioner av Windows. Din första genomgång är att hitta den rätta att använda.

Anmärkning

En genväg till kommandotolken för utvecklare anger automatiskt rätt sökvägar för kompilatorn och verktygen och för alla nödvändiga rubriker och bibliotek. Du måste ange dessa miljövärden själv om du använder ett vanligt kommandotolkfönster . Mer information finns i Använda MSVC-verktygsuppsättningen från kommandoraden. Vi rekommenderar att du använder en genväg till kommandotolken för utvecklare i stället för att skapa en egen.

Öppna en kommandotolk för utvecklare

  1. Om du har installerat Visual Studio 2017 eller senare i Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla nedåt och öppna Visual Studio-mappen (inte Visual Studio-programmet). Välj Utvecklarkommandotolken för VS för att öppna kommandotolksfönstret.

    Om du har installerat Microsoft Visual C++ Build Tools 2015 på Windows 10 eller senare öppnar du Start-menyn och väljer Alla appar. Rulla nedåt och öppna mappen Visual C++ Build Tools . Välj Visual C++ 2015 x86 Native Tools Kommandotolksfönstret för att öppna kommandotolken.

    Du kan också använda Windows-sökfunktionen för att söka efter "kommandotolken för utvecklare" och välja en som matchar den installerade versionen av Visual Studio. Använd genvägen för att öppna kommandotolken.

  2. Kontrollera sedan att kommandotolken Visual C++ developer har konfigurerats korrekt. I kommandotolken, du anger cl och kontrollerar att utdata ser ut ungefär så här:

    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... ]
    

    Det kan finnas skillnader i aktuella katalog- eller versionsnummer. Dessa värden beror på versionen av Visual C++ och eventuella installerade uppdateringar. Om ovanstående utdata liknar det du ser är du redo att skapa C- eller C++-program på kommandoraden.

    Anmärkning

    Om du får ett fel som "'cl' inte identifieras som ett internt eller externt kommando, ett fungerande program eller en batchfil", fel C1034 eller fel LNK1104 när du kör cl kommandot använder du antingen inte en kommandotolk för utvecklare eller så är något fel med installationen av Visual C++. Du måste åtgärda problemet innan du kan fortsätta.

    Om du inte hittar genvägen till kommandotolken för utvecklare, eller om du får ett felmeddelande när du anger cl, kan det uppstå problem med installationen av Visual C++. Prova att installera om Visual C++-komponenten i Visual Studio eller installera om Microsoft Visual C++ Build Tools. Gå inte vidare till nästa avsnitt förrän cl kommandot fungerar. Mer information om hur du installerar och felsöker Visual C++finns i Installera Visual Studio.

    Anmärkning

    Beroende på vilken version av Windows som finns på datorn och systemsäkerhetskonfigurationen kan du behöva högerklicka för att öppna snabbmenyn för kommandotolken för utvecklare och sedan välja Kör som administratör för att skapa och köra programmet som du skapar genom att följa den här genomgången.

Skapa en Visual C++-källfil och kompilera den på kommandoraden

  1. I kommandotolken för utvecklare anger du md c:\hello för att skapa en katalog och anger cd c:\hello sedan för att ändra till katalogen. I den här katalogen skapas både källfilen och det kompilerade programmet.

  2. Ange notepad hello.cpp i kommandotolkens fönster.

    Välj Ja när Anteckningar uppmanar dig att skapa en ny fil. Det här steget öppnar ett tomt anteckningsblocksfönster där du kan ange koden i en fil med namnet hello.cpp.

  3. Öppna Anteckningar och ange följande kodrader:

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

    Den här koden är ett enkelt program som skriver en textrad på skärmen och sedan avslutar. För att minimera fel kopierar du den här koden och klistrar in den i Anteckningar.

  4. Spara ditt arbete! I Anteckningar går du till arkivmenyn och väljer Spara.

    Grattis, du har skapat en C++-källfil, hello.cpp, som är redo att kompileras.

  5. Växla tillbaka till kommandotolken för utvecklare. Ange dir i kommandotolken för att visa innehållet i katalogen c:\hello. Du bör se källfilen hello.cpp i kataloglistan, som ser ut ungefär så här:

    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
    
    

    Datumen och annan information skiljer sig åt på datorn.

    Anmärkning

    Om du inte ser källkodsfilen hello.cppkontrollerar du att den aktuella arbetskatalogen i kommandotolken är den C:\hello katalog som du skapade. Kontrollera också att det här är den katalog där du sparade källfilen. Och se till att du sparade källkoden med ett .cpp filnamnstillägg, inte ett .txt tillägg. Källfilen sparas automatiskt i den aktuella katalogen som en .cpp fil om du öppnar Anteckningar i kommandotolken med hjälp av kommandot notepad hello.cpp. Anteckningsblockets beteende är annorlunda om du öppnar det på ett annat sätt: Som standard lägger Anteckningsblocket till ett .txt-tillägg till nya filer när du sparar dem. Den sparar också som standard filer i katalogen Dokument . Om du vill spara filen med ett .cpp tillägg i Anteckningar väljer du Spara som-fil>. I dialogrutan Spara som navigerar du till mappen C:\hello i katalogträdets vykontroll. Använd sedan listrutan Spara som typ för att välja Alla filer (*.*).. Ange hello.cpp i redigeringskontrollen Filnamn och välj sedan Spara för att spara filen.

  6. I kommandotolken för utvecklare anger du cl /EHsc hello.cpp för att kompilera programmet.

    cl.exe-kompilatorn genererar en .obj fil som innehåller den kompilerade koden och kör sedan länkaren för att skapa ett körbart program med namnet hello.exe. Det här namnet visas i de rader med utdatainformation som kompilatorn visar. Kompilatorns utdata bör se ut ungefär så här:

    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
    

    Anmärkning

    Om du får ett fel som "'cl' inte identifieras som ett internt eller externt kommando, ett fungerande program eller en batchfil", fel C1034 eller fel LNK1104, är kommandotolken för utvecklare inte korrekt konfigurerad. För information om hur du åtgärdar det här problemet, gå tillbaka till avsnittet Öppna en utvecklarkommandotolk.

    Anmärkning

    Om du får ett annat kompilator- eller länkfel eller en varning granskar du källkoden för att korrigera eventuella fel och sparar den och kör kompilatorn igen. Om du vill ha information om specifika fel använder du sökrutan för att leta efter felnumret.

  7. Om du vill köra hello.exe-programmet går du till kommandotolken och anger hello.

    Programmet visar denna text och stänger:

    Hello, world, from Visual C++!
    

    Grattis, du har kompilerat och kört ett C++-program med hjälp av kommandoradsverktygen.

Nästa steg

Det här exemplet "Hello, World" är ungefär så enkelt som ett C++-program kan få. Verkliga program har vanligtvis huvudfiler, fler källfiler och länkar till bibliotek.

Du kan använda stegen i den här genomgången för att skapa din egen C++-kod i stället för att skriva den exempelkod som visas. Med de här stegen kan du också skapa många C++-kodexempelprogram som du hittar någon annanstans. Du kan placera källkoden och skapa dina appar i valfri skrivbar katalog. Som standard skapar Visual Studio IDE projekt i användarmappen i en källa\repos-undermapp . Äldre versioner kan placera projekt i mappen Documents\Visual Studio <version>\Projects .

Om du vill kompilera ett program som har ytterligare källkodsfiler anger du alla på kommandoraden, till exempel:

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

Kommandoradsalternativet /EHsc instruerar kompilatorn att aktivera standardbeteendet för C++-undantagshantering. Utan det kan kastade undantag resultera i oförstörda objekt och resursläckor. Mer information finns i /EH (Undantagshanteringsmodell).

När du anger ytterligare källfiler använder kompilatorn den första indatafilen för att skapa programnamnet. I det här fallet matar det ut ett program med namnet file1.exe. Om du vill ändra namnet till program1.exelägger du till alternativet /out linker:

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

För att fånga fler programmeringsfel automatiskt rekommenderar vi att du kompilerar med hjälp av varningsnivån /W3 eller /W4 :

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

Kompilatorn cl.exehar många fler alternativ. Du kan använda dem för att skapa, optimera, felsöka och analysera koden. Om du vill ha en snabblista anger du cl /? i kommandotolken för utvecklare. Du kan också kompilera och länka separat och använda länkalternativ i mer komplexa byggscenarier. Mer information om alternativ och användning av kompilatorer och länkare finns i C/C++-byggnadsreferens.

Du kan använda NMAKE och makefiles, MSBuild och projektfiler, eller CMake, för att konfigurera och skapa mer komplexa projekt på kommandoraden. Mer information om hur du använder dessa verktyg finns i NMAKE-referens-, MSBuild- och CMake-projekt i Visual Studio.

Språken C och C++ är liknande, men inte samma. MSVC-kompilatorn använder en enkel regel för att avgöra vilket språk som ska användas när koden kompileras. Som standard behandlar MSVC-kompilatorn filer som slutar .c som C-källkod och filer som slutar .cpp som C++-källkod. Om du vill tvinga kompilatorn att behandla alla filer som C++ oberoende av filnamnstillägget använder du kompileringsalternativet /TP .

MSVC-kompilatorn innehåller ett C Runtime-bibliotek (CRT) som överensstämmer med ISO C99-standarden, med mindre undantag. Portabel kod kompilerar och körs vanligtvis som förväntat. Vissa föråldrade biblioteksfunktioner och flera POSIX-funktionsnamn är inaktuella av MSVC-kompilatorn. Funktionerna stöds, men de önskade namnen har ändrats. Mer information finns i Säkerhetsfunktioner i CRT och Kompilatorvarning (nivå 3) C4996.

Se även

C++-språkreferens
Projekt och byggsystem
MSVC-kompilatoralternativ