Menu

Installare C++: configurare un compilatore su Windows, macOS e Linux

Come installare un compilatore C++ (GCC, Clang o MSVC), scegliere la toolchain giusta per il tuo sistema operativo e verificare che funzioni da riga di comando.

Questa pagina include editor eseguibili: modifica, esegui e vedi subito l'output.

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: gcc e g++ fanno entrambi parte di GCC, ma per C++ usa sempre g++ (non gcc). g++ collega automaticamente la libreria standard C++; gcc no, 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 bin al 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.

Illustrazione dei linguaggi di programmazione di Coddy

Impara a programmare con Coddy

INIZIA