Share via


Supporto di Clang/LLVM nei progetti di Visual Studio

Il supporto Clang/LLVM per i progetti CMake e MSBuild è disponibile in Visual Studio 2019 e Visual Studio 2022.

È possibile usare Visual Studio 2019 versione 16.2 e successive con Clang/LLVM per modificare, compilare ed eseguire il debug di progetti visual Studio C++ (MSBuild) destinati a Windows o Linux.

Installare

Per il miglior supporto dell'IDE in Visual Studio, è consigliabile usare gli strumenti del compilatore Clang più recenti per Windows. Se non si dispone già degli strumenti, è possibile installarli aprendo il Programma di installazione di Visual Studio e scegliendo strumenti Clang C++ per Windows in Sviluppo desktop con componenti facoltativi C++. È consigliabile usare un'installazione Clang esistente nel computer; in tal caso, scegliere Clang-cl C++ per gli strumenti di compilazione v142 o Clang-cl C++ per gli strumenti di compilazione v143.

Installare

Per il miglior supporto dell'IDE in Visual Studio, è consigliabile usare gli strumenti del compilatore Clang più recenti per Windows. Se non si dispone già degli strumenti, è possibile installarli aprendo il Programma di installazione di Visual Studio e scegliendo strumenti Clang C++ per Windows in Sviluppo desktop con componenti facoltativi C++. È consigliabile usare un'installazione Clang esistente nel computer; in tal caso, scegliere il supporto di MSBuild per il set di strumenti LLVM (clang-cl).

La libreria standard Microsoft C++ richiede almeno Clang 8.0.0.

Screenshot del programma di installazione di Visual Studio 2019

La scheda Singoli componenti è selezionata nel programma di installazione. Il compilatore Clang C++ per Windows è selezionato. È selezionato anche Clang-cl C++ per gli strumenti di compilazione v142 (x64/x86).

Screenshot del programma di installazione di Visual Studio 2022.

La scheda Singoli componenti è selezionata nel programma di installazione. Il compilatore Clang C++ per Windows è selezionato. È selezionato anche il supporto di MSBuild per il set di strumenti LLVM (clang-cl).

Le versioni successive di Visual Studio offrono versioni più recenti del set di strumenti Clang. La versione in bundle di Clang viene aggiornata automaticamente per rimanere aggiornati con gli aggiornamenti nell'implementazione Microsoft della libreria standard. Ad esempio, Visual Studio 2019 versione 16.11 include Clang v12.

Configurare un progetto Windows per l'uso degli strumenti Clang

Per configurare un progetto di Visual Studio per l'uso di Clang, fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e scegliere Proprietà. In genere, è necessario scegliere Tutte le configurazioni nella parte superiore della finestra di dialogo. Quindi, in Set di strumenti della piattaforma generale>scegliere LLVM (clang-cl) e quindi OK.

Screenshot della finestra di dialogo Pagine delle proprietà del progetto di Visual Studio.

La pagina delle proprietà del progetto è aperta alla pagina Proprietà di configurazione > Generale. L'elenco a discesa Set di strumenti della piattaforma è selezionato in cui è selezionato LLVM (clang-cl).

Se si usano gli strumenti Clang in bundle con Visual Studio, non sono necessari passaggi aggiuntivi. Per i progetti Windows, Visual Studio per impostazione predefinita richiama Clang in modalità clang-cl . Si collega all'implementazione Microsoft della libreria standard. Per impostazione predefinita, clang-cl.exe si trova in *%VCINSTALLDIR%\Tools\Llvm\bin\* e *%VCINSTALLDIR%\Tools\Llvm\x64\bin\*.

Se si usa un'installazione Clang personalizzata, è possibile modificare il valore della LLVMInstallDir proprietà . Per altre informazioni, vedere Impostare un percorso LLVM personalizzato.

Configurare un progetto Linux per l'uso degli strumenti Clang

Per i progetti Linux, Visual Studio usa il front-end compatibile con Clang GCC. Le proprietà del progetto e quasi tutti i flag del compilatore sono identici

Per configurare un progetto Linux di Visual Studio per l'uso di Clang:

  1. Fare clic con il pulsante destro del mouse sul nodo del progetto in Esplora soluzioni e scegliere Proprietà.
  2. In genere, è necessario scegliere Tutte le configurazioni nella parte superiore della finestra di dialogo.
  3. In Set di strumenti della piattaforma generale>scegliere Clang per sottosistema Windows per Linux se si usa sottosistema Windows per Linux (WSL). Scegliere Clang per Linux remoto se si usa un computer remoto o una macchina virtuale.
  4. Scegliere OK.

Screenshot della finestra di dialogo Pagine delle proprietà del progetto di Visual Studio 2019

La pagina delle proprietà del progetto è aperta alla pagina Proprietà di configurazione > Generale. Il set di strumenti della piattaforma è selezionato e dall'elenco delle opzioni è selezionato LLVM (clang- c l).

In Linux Visual Studio per impostazione predefinita usa il primo percorso Clang trovato nella proprietà dell'ambiente PATH. Se si usa un'installazione Clang personalizzata, modificare il valore della LLVMInstallDir proprietà oppure immettere il percorso in> Proprietà>progetto Proprietà di progetto Directory>eseguibili di DIrectories.> Per altre informazioni, vedere Impostare un percorso LLVM personalizzato.

Impostare un percorso e un set di strumenti LLVM personalizzati

Per impostare un percorso personalizzato su LLVM e impostare una versione personalizzata del set di strumenti LLVM per uno o più progetti, creare un file Directory.build.props . Aggiungere quindi il file alla cartella radice di qualsiasi progetto. È possibile aggiungerlo alla cartella della soluzione radice per applicarla a tutti i progetti della soluzione. Il file dovrebbe essere simile a questo esempio (ma usare il percorso LLVM effettivo e il numero di versione):

<Project>
  <PropertyGroup>
    <LLVMInstallDir>C:\MyLLVMRootDir</LLVMInstallDir>
    <LLVMToolsVersion>15.0.0</LLVMToolsVersion>
  </PropertyGroup>
</Project>

Impostare una versione personalizzata del set di strumenti LLVM nell'IDE

A partire da Visual Studio 2019 versione 16.9, è possibile impostare una versione del set di strumenti personalizzata per LLVM in Visual Studio. Per impostare questa proprietà in un progetto:

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per altre informazioni, vedere Impostare il compilatore C++ e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>Generale.

  3. Modificare la proprietà Platform Toolset in LLVM (clang-cl), se non è già impostata. Scegliere Applica per salvare le modifiche.

  4. Selezionare la pagina delle proprietà Proprietà>di configurazione Avanzate.

  5. Modificare la proprietà LLVM Toolset Version (Versione del set di strumenti LLVM) nella versione preferita e quindi scegliere OK per salvare le modifiche.

La proprietà LLVM Toolset Version viene visualizzata solo quando è selezionato il set di strumenti della piattaforma LLVM.

Quando si aggiunge un Directory.build.props file a un progetto o a una soluzione, le impostazioni vengono visualizzate come predefinite nella finestra di dialogo Pagine delle proprietà del progetto. Tuttavia, le modifiche apportate a queste proprietà in Visual Studio sostituiscono le impostazioni nel Directory.build.props file.

Impostare proprietà, modificare, compilare ed eseguire il debug

Dopo aver configurato una configurazione Clang, fare di nuovo clic con il pulsante destro del mouse sul nodo del progetto e scegliere Ricarica progetto. È ora possibile compilare ed eseguire il debug del progetto usando gli strumenti Clang. Visual Studio rileva che si usa il compilatore Clang e fornisce IntelliSense, evidenziazione, navigazione e altre funzionalità di modifica. Gli errori e gli avvisi vengono visualizzati nella finestra di output. Le pagine delle proprietà del progetto per una configurazione Clang sono simili a quelle per MSVC. Tuttavia, alcune funzionalità dipendenti dal compilatore, ad esempio Modifica e continuazione, non sono disponibili per le configurazioni Clang. È possibile impostare un'opzione del compilatore o del linker Clang non disponibile nelle pagine delle proprietà. Aggiungerlo manualmente nelle pagine delle proprietà in Proprietà>di configurazione C/C++ (o Linker)>Opzioni aggiuntive della riga di comando.>

Durante il debug, è possibile usare punti di interruzione, visualizzazione di memoria e dati e la maggior parte delle altre funzionalità di debug.

Screenshot del debug di un'app di esempio in Visual Studio

La parte dell'app visibile crea un vettore di stringa e aggiunge alcune stringhe. L'esecuzione è stata arrestata in un punto di interruzione per il codice: v.push_back("Clang/LLVM");".