C/C++-projekt och byggsystem i Visual Studio

Du kan använda Visual Studio för att redigera, kompilera och skapa valfri C++-kodbas med fullständigt IntelliSense-stöd utan att behöva konvertera koden till ett Visual Studio-projekt eller kompilera med Microsoft C++ (MSVC) Build Tools. Du kan till exempel redigera ett plattformsoberoende CMake-projekt i Visual Studio på en Windows-dator och sedan kompilera det för Linux med hjälp av g++ på en fjärransluten Linux-dator.

C++-kompilering

Att skapa ett C++-program innebär att kompilera källkod från en eller flera filer och sedan länka filerna till en körbar fil (.exe), ett bibliotek med dynamisk belastning (.dll) eller ett statiskt bibliotek (.lib).

Grundläggande C++-kompilering omfattar tre huvudsteg:

  • C++-förprocessorn transformerar alla #directives- och makrodefinitioner i varje källfil. Detta skapar en översättningsenhet.
  • C++-kompilatorn kompilerar varje översättningsenhet till objektfiler (.obj) och tillämpar de kompilatoralternativ som har angetts.
  • Länkaren sammanfogar objektfilerna till en enda körbar fil och tillämpar de länkalternativ som har angetts.

Microsoft C++ (MSVC) Byggverktyg

Microsoft C++-kompilatorn, länkaren, standardbiblioteken och relaterade verktyg utgör Microsoft C++ (MSVC) Build Tools (kallas även verktygskedja eller verktygsuppsättning). Dessa ingår i Visual Studio. Du kan också ladda ned och använda kommandoradsverktyguppsättningen som ett kostnadsfritt fristående paket. Mer information finns i Skapa verktyg för Visual Studio på sidan Nedladdningar i Visual Studio.

Du kan skapa enkla program genom att anropa MSVC-kompilatorn (cl.exe) direkt från kommandoraden. Följande kommando accepterar en enda källkodsfil och anropar cl.exe för att skapa en körbar fil med namnet hello.exe:

cl /EHsc hello.cpp

Här anropar kompilatorn (cl.exe) automatiskt C++-förprocessorn och länkaren för att skapa den slutliga utdatafilen. Mer information finns i Skapa på kommandoraden.

Skapa system och projekt

De flesta verkliga program använder någon form av byggsystem för att hantera komplexiteten i kompilering av flera källfiler för flera konfigurationer (felsökning kontra version), flera plattformar (x86, x64, ARM och så vidare), anpassade byggsteg och till och med flera körbara filer som måste kompileras i en viss ordning. Du gör inställningar i en build-konfigurationsfil(er) och byggsystemet accepterar filen som indata innan den anropar kompilatorn. Uppsättningen källkodsfiler och konfigurationsfiler som behövs för att skapa en körbar fil kallas för ett projekt.

I följande lista visas olika alternativ för Visual Studio Projects – C++:

  • skapa ett Visual Studio-projekt med hjälp av Visual Studio IDE och konfigurera det med hjälp av egenskapssidor. Visual Studio-projekt skapar program som körs i Windows. En översikt finns i Kompilera och skapa i Visual Studio-dokumentationen.

  • öppna en mapp som innehåller en CMakeLists.txt fil. CMake-stöd är integrerat i Visual Studio. Du kan använda IDE för att redigera, testa och felsöka utan att ändra CMake-filerna på något sätt. På så sätt kan du arbeta i samma CMake-projekt som andra som kanske använder olika redigeringsprogram. CMake är den rekommenderade metoden för plattformsoberoende utveckling. Mer information finns i CMake-projekt.

  • öppna en lös mapp med källfiler utan projektfil. Visual Studio använder heuristik för att skapa filerna. Det här är ett enkelt sätt att kompilera och köra små konsolprogram. Mer information finns i Öppna mappprojekt.

  • öppna en mapp som innehåller en makefile eller någon annan konfigurationsfil för byggsystemet. Du kan konfigurera Visual Studio för att anropa godtyckliga byggkommandon genom att lägga till JSON-filer i mappen. Mer information finns i Öppna mappprojekt.

  • Öppna en Windows-makefil i Visual Studio. Mer information finns i NMAKE-referens.

MSBuild från kommandoraden

Du kan anropa MSBuild från kommandoraden genom att skicka en .vcxproj fil tillsammans med kommandoradsalternativ. Den här metoden kräver en god förståelse för MSBuild och rekommenderas endast när det behövs. Mer information finns i MSBuild.

I det här avsnittet

Visual Studio-projekt
Skapa, konfigurera och skapa C++-projekt i Visual Studio med hjälp av dess inbyggda byggsystem (MSBuild).

CMake-projekt
Så här kodar, skapar och distribuerar du CMake-projekt i Visual Studio.

Öppna mappprojekt
Använda Visual Studio för att koda, skapa och distribuera C++-projekt baserat på godtyckliga byggsystem eller inget byggsystem alls.

Versionsversioner
Så här skapar och felsöker du optimerade versionsversioner för distribution till slutanvändare.

Använda MSVC-verktygsuppsättningen från kommandoraden
Beskriver hur du använder C/C++-kompilatorn och byggverktygen direkt från kommandoraden i stället för att använda Visual Studio IDE.

Skapa DLL:er i Visual Studio
Så här skapar, felsöker och distribuerar du DLL:er för C/C++ (delade bibliotek) i Visual Studio.

Genomgång: Skapa och använda ett statiskt bibliotek
Så här skapar du en .lib-binär fil.

Skapa C/C++-isolerade program och sammansättningar sida vid sida
Beskriver distributionsmodellen för Windows Desktop-program, baserat på idén om isolerade program och sammansättningar sida vid sida.

Konfigurera C++-projekt för 64-bitars x64-mål
Så här riktar du in dig på 64-bitars x64-maskinvara med MSVC-byggverktygen.

Konfigurera C++-projekt för ARM-processorer
Använda MSVC Build Tools för att rikta in sig på ARM-maskinvara.

Optimera din kod
Så här optimerar du koden på olika sätt, inklusive programstyrda optimeringar.

Konfigurera program för Windows XP
Så här riktar du in dig på Windows XP med MSVC-byggverktygen.

C/C++-kompileringsreferens
Innehåller länkar till referensartiklar om programskapande i C++, kompilator- och länkalternativ samt olika byggverktyg.