C++ Academy · Lezione

Generazione di file per IDE e build multipiattaforma

Generi file di progetto per Visual Studio, Xcode e Ninja per lo sviluppo multipiattaforma

Lezione 4 di 414 passaggi

Generazione di file per IDE e build multipiattaforma è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Generatori

CMake produce file di build per molti backend. Scelga con -G:

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

Ninja: build veloci

Ninja è il generatore consigliato per l'uso dalla riga di comando: esegue build incrementali veloci.

cmake -B build -G Ninja
ninja -C build

Generatore di Visual Studio

Generi una soluzione Visual Studio da modificare e sottoporre a debug nell'IDE.

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

Generatore di Xcode

Per lo sviluppo su macOS, generi un progetto Xcode.

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

Integrazione con VS Code

Installi l'estensione CMake Tools. Esegue CMake in modo trasparente e fornisce comandi per build, debug e test.

CLion

CLion utilizza CMake nativamente: apra direttamente CMakeLists.txt. Le configurazioni vengono gestite tramite l'IDE.

Cross-compilazione

Per una destinazione con un sistema operativo o una CPU diversi, utilizzi un file toolchain che descriva il compilatore cross.

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

Esempio di file toolchain

Un semplice file toolchain per 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++)

Codice specifico della piattaforma

Utilizzi le variabili di CMake per abilitare condizionalmente il codice o i target specifici della piattaforma.

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()

Preset di CMake

Definisca le configurazioni comuni, come compilatore, generatore e toolchain, in CMakePresets.json. Esegua con cmake --preset=name.

Configurazioni di build nei generatori multi-configurazione

Visual Studio e Xcode supportano più configurazioni. Selezioni quella desiderata al momento della build con --config:

cmake --build build --config Release

Integrazione con la CI

GitHub Actions, GitLab CI e Jenkins supportano tutti CMake. Memorizzi nella cache le dipendenze tra un'esecuzione e l'altra per velocizzare il processo.

Verifica rapida

Quale generatore CMake è generalmente il più veloce per le build da riga di comando?

Riepilogo

CMake supporta molti generatori: Ninja per la velocità, i generatori per IDE (Visual Studio, Xcode) per lo sviluppo. Utilizzi i file toolchain per la cross-compilazione, i preset per condividere le configurazioni e i rami specifici per la piattaforma per il codice dipendente dal sistema.

Gratis per iniziare

Impara C++ con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
51
Lezioni
203

Domande Frequenti

La lezione «Generazione di file per IDE e build multipiattaforma» è gratuita?

Sì — il testo completo di «Generazione di file per IDE e build multipiattaforma» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Generazione di file per IDE e build multipiattaforma»?

Generi file di progetto per Visual Studio, Xcode e Ninja per lo sviluppo multipiattaforma Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Generazione di file per IDE e build multipiattaforma»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Struttura dei progetti CMake e CMakeLists.txt
  2. Target, linking e visibilità: PUBLIC, PRIVATE
  3. Usare vcpkg e Conan per le dipendenze
  4. Generazione di file per IDE e build multipiattaforma
← Torna a C++ Academy