Cosa ti serve davvero: un compilatore
Nella pagina precedente hai visto che C++ è un linguaggio compilato: il tuo codice sorgente viene trasformato in codice macchina nativo prima di essere eseguito. Per farlo sulla tua macchina devi installare una sola cosa essenziale: un compilatore C++. Il compilatore legge i tuoi file .cpp, applica la libreria standard C++ e produce un eseguibile che la tua CPU esegue direttamente.
Per iniziare non ti serve un IDE pesante. Un IDE è solo un editor più alcuni strumenti costruiti attorno allo stesso compilatore sottostante. Tantissime persone scrivono C++ con un semplice editor di testo (o VS Code) e richiamano il compilatore da un terminale. Installa prima il compilatore; aggiungi un editor sopra quando preferisci.
Non ti serve nulla di tutto questo nemmeno per seguire queste pagine: i blocchi di codice qui compilano ed eseguono nel cloud. Configura un compilatore locale quando vuoi compilare ed eseguire C++ sul tuo computer.
Scegli un compilatore per il tuo sistema operativo
Esistono tre compilatori C++ principali, tutti gratuiti e tutti abbastanza moderni per C++17 e C++20:
- GCC: la GNU Compiler Collection. Il suo front end per C++ è
g++. È il default su Linux. - Clang: il compilatore LLVM. Il suo front end per C++ è
clang++. È il default su macOS. - MSVC: il compilatore di Microsoft (
cl.exe), incluso in Visual Studio. La scelta nativa su Windows.
Non serve pensarci troppo. Usa quello standard per la tua piattaforma: il linguaggio C++ è lo stesso in tutti e tre, e ogni esempio di questo corso compila con ognuno di essi. Le differenze contano solo quando arrivi a funzionalità avanzate e specifiche di un produttore.
Una trappola sui nomi:
gcceg++fanno entrambi parte di GCC, ma per C++ usa sempreg++(nongcc).g++collega automaticamente la libreria standard C++;gccno, e otterrai errori del linker poco chiari.
Installazione sulla tua piattaforma
I passaggi cambiano leggermente da un sistema operativo all'altro. Dove esiste un gestore di pacchetti, preferiscilo: gli aggiornamenti diventano un solo comando.
Windows
La strada più semplice è la toolchain GCC gratuita MinGW-w64 tramite l'installer MSYS2. Dopo aver installato MSYS2, apri il suo terminale ed esegui:
pacman -S mingw-w64-ucrt-x86_64-gcc
Così ottieni g++. Poi aggiungi C:\msys64\ucrt64\bin al PATH in modo che g++ funzioni da qualsiasi terminale. In alternativa, installa Visual Studio (la Community edition gratuita) con il carico di lavoro "Desktop development with C++" per avere il compilatore MSVC e un IDE in un colpo solo.
macOS
Apple distribuisce Clang tramite i Command Line Tools. Un solo comando li installa:
xcode-select --install
Così ottieni clang++. Se preferisci GCC, installalo con Homebrew: brew install gcc.
Linux (Debian/Ubuntu)
sudo apt update
sudo apt install g++
Su Fedora/RHEL è sudo dnf install gcc-c++. Questi sono comandi della shell, non C++: installano il compilatore a livello di sistema. Su Ubuntu, installare il pacchetto build-essential porta con sé g++ più make e altri strumenti di build in un colpo solo.
Verifica che abbia funzionato
È il passaggio che molti saltano per poi perderci un'ora. Apri un terminale nuovo (così legge il PATH aggiornato) e chiedi al compilatore la sua versione:
g++ --version
Dovresti vedere qualcosa del genere:
g++ (Ubuntu 13.2.0-4ubuntu3) 13.2.0
Copyright (C) 2023 Free Software Foundation, Inc.
Su macOS l'equivalente è clang++ --version, e su Windows con MSVC è cl (da eseguire dal "Developer Command Prompt"). Se ottieni command not found, il compilatore non è installato oppure non è nel PATH: ripeti il passaggio di installazione per la tua piattaforma e riapri il terminale.
Un altro controllo utile: verifica lo standard che il compilatore usa di default. Un GCC o un Clang recente usa C++17 o successivo, ed è ciò che queste pagine presuppongono. Puoi sempre imporre uno standard in modo esplicito con un'opzione come -std=c++20, che la prossima pagina tratta in dettaglio.
Una rapida prova in locale
Quando g++ --version restituisce un numero, la tua macchina è in grado di compilare C++. Lo stesso identico programma che compilerai in locale gira anche qui nel browser, così puoi controllare l'output prima ancora di aprire un terminale:
La macro __cplusplus è un numero predefinito che il compilatore imposta per dirti quale standard del linguaggio sta usando (per esempio, 201703 significa C++17). Ogni programma C++ parte da int main(), e std::cout scrive sulla console. Sulla tua macchina salveresti questo codice come main.cpp, lo compileresti ed eseguiresti l'eseguibile risultante. Questa sequenza in due passi, prima compila e poi esegui, è proprio l'argomento della prossima pagina.
Una nota sul PATH
L'unica cosa che mette in difficoltà nelle nuove installazioni è il PATH, cioè l'elenco delle cartelle in cui la shell cerca i programmi. Se g++ --version funziona da qualsiasi cartella, il tuo PATH include la cartella del compilatore e sei a posto. Se funziona solo dalla cartella di installazione, o non funziona affatto, la cartella bin del compilatore non è ancora nel PATH.
- Su Windows è l'ostacolo più comune: dopo aver installato MinGW-w64 devi aggiungere a mano la sua cartella
binal PATH e aprire un nuovo terminale. - Su macOS e Linux i gestori di pacchetti e gli strumenti di Xcode mettono il compilatore nel PATH al posto tuo, quindi il problema si presenta di rado.
Se in seguito uno strumento di build o un editor non trova il compilatore anche se g++ --version funziona nel terminale, la causa è quasi sempre un PATH che l'app grafica non ha ereditato: di solito basta riavviare l'app (o il computer).
Prossimo passo: compilare C++
Ora hai un compilatore funzionante e lo hai verificato da riga di comando. La prossima pagina lo trasforma in un vero flusso di lavoro: scrivere un file .cpp, compilarlo con g++ (incluse le opzioni -std e -o che controllano lo standard e il nome dell'output) ed eseguire l'eseguibile che produce, oltre a cosa fa davvero ogni passaggio dietro le quinte.
Domande frequenti
Serve un IDE per iniziare a scrivere C++?
No. C++ richiede un compilatore, l'IDE è facoltativo. Il compilatore (g++, clang++ o cl di MSVC) è ciò che trasforma il tuo sorgente in un programma eseguibile; un editor come VS Code o un IDE come Visual Studio rende solo più comodo il lavoro. Installa prima il compilatore e aggiungi un editor quando vuoi.
Quale compilatore C++ dovrei installare?
Usa la toolchain standard del tuo sistema operativo: GCC (g++) su Linux, Clang (clang++) su macOS tramite gli strumenti di Xcode e MSVC o MinGW-w64 su Windows. Sono tutti e tre gratuiti e supportano il C++17/C++20 moderno. Scegline uno, mettilo nel PATH e potrai compilare ogni esempio di questo corso.
Come verifico se un compilatore C++ è già installato?
Apri un terminale ed esegui g++ --version (o clang++ --version). Se vedi un numero di versione, nel tuo PATH c'è un compilatore pronto all'uso. Se ottieni command not found, il compilatore manca o non è nel PATH: installa la toolchain per la tua piattaforma seguendo le istruzioni qui sotto.