C++ Academy · Lektion

Generering af IDE-filer og platformuafhængige builds

Generér projektfiler til Visual Studio, Xcode og Ninja til udvikling på tværs af platforme

Lektion 4 af 414 trin

Generering af IDE-filer og platformuafhængige builds er en gratis C++ Academy-lektion på CoddyKit. Dette er lektion 4 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i C++ Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. C++ Academy-kurset indeholder 4 lektioner i alt.

Generatorer

CMake opretter byggefiler til mange bagvedliggende byggesystemer. Vælg med -G:

  • "Unix Makefiles"
  • "Ninja"
  • "Visual Studio 17 2022"
  • "Xcode"

Ninja: Hurtige bygninger

Ninja er den anbefalede generator til brug fra kommandolinjen – den giver hurtige inkrementelle bygninger.

cmake -B build -G Ninja
ninja -C build

Visual Studio-generator

Generér en Visual Studio-løsningsfil, så du kan redigere og fejlfinde i IDE'en.

cmake -B build -G "Visual Studio 17 2022"
# Open build/MyApp.sln in Visual Studio

Xcode-generator

Til udvikling på macOS kan du generere et Xcode-projekt.

cmake -B build -G Xcode
open build/MyApp.xcodeproj

Integration med VS Code

Installér udvidelsen CMake Tools. Den kører CMake transparent og leverer kommandoer til bygning, fejlfinding og test.

CLion

CLion bruger CMake indbygget – åbn CMakeLists.txt direkte. Konfigurationer håndteres via IDE'en.

Krydskompilering

Hvis du vil målrette et andet operativsystem eller en anden CPU, skal du bruge en værktøjskædefil, der beskriver krydskompilatoren.

cmake -B build -DCMAKE_TOOLCHAIN_FILE=arm-linux.cmake

Eksempel på værktøjskædefil

En enkel værktøjskædefil til ARM Linux:

# arm-linux.cmake
set(CMAKE_SYSTEM_NAME Linux)
set(CMAKE_SYSTEM_PROCESSOR arm)
set(CMAKE_C_COMPILER arm-linux-gnueabihf-gcc)
set(CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++)

Platformsafhængig kode

Brug CMake-variabler til at styre platformsafhængig kode eller mål.

if(WIN32)
    target_link_libraries(myapp PRIVATE ws2_32)
elseif(APPLE)
    target_link_libraries(myapp PRIVATE "-framework Foundation")
elseif(UNIX)
    target_link_libraries(myapp PRIVATE pthread)
endif()

CMake-presets

Definér almindelige konfigurationer (compiler, generator og værktøjskæde) i CMakePresets.json. Kør med cmake --preset=name.

Byggekonfigurationer på generatorer med flere konfigurationer

Visual Studio og Xcode understøtter flere konfigurationer. Vælg konfigurationen ved byggetid med --config:

cmake --build build --config Release

CI-integration

GitHub Actions, GitLab CI og Jenkins understøtter alle CMake. Gem afhængighederne i cachen mellem kørslerne for at øge hastigheden.

Hurtigt tjek

Hvilken CMake-generator er typisk hurtigst til kommandolinjebyg?

Opsummering

CMake understøtter mange generatorer — Ninja giver høj hastighed, mens IDE-generatorer (Visual Studio, Xcode) egner sig til udvikling. Brug toolchain-filer til krydskompilering, presets til delte konfigurationer og platformsgrene til systemspecifik kode.

Gratis at komme i gang

Lær C++ med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
51
Lektioner
203

Ofte stillede spørgsmål

Er lektionen “Generering af IDE-filer og platformuafhængige builds” gratis?

Ja — alle 3 lektioner i læringssporet C++ Academy, inklusive “Generering af IDE-filer og platformuafhængige builds”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. C++ Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Generering af IDE-filer og platformuafhængige builds”?

Generér projektfiler til Visual Studio, Xcode og Ninja til udvikling på tværs af platforme Du øver dig i C++ Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på C++ Academy?

Der kræves ingen tidligere erfaring. C++ Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 4 af 4.

Hvor lang tid tager lektionen “Generering af IDE-filer og platformuafhængige builds”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne C++ Academy-lektion?

Ja. Alle C++ Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. CMake-projektstruktur og CMakeLists.txt
  2. Targets, linking og synlighed: PUBLIC, PRIVATE
  3. Brug af vcpkg og Conan til afhængigheder
  4. Generering af IDE-filer og platformuafhængige builds
← Tilbage til C++ Academy