Supporto Clang/LLVM in Visual Studio CMake projects

È possibile utilizzare Visual Studio con Clang per modificare ed eseguire il debug di progetti C++ CMake destinati a Windows o Linux.

Windows: Visual Studio 2019 versione 16.1 include il supporto per la modifica, la creazione e il debug con Clang/LLVM nei progetti CMake rivolti a Windows.

Linux: Per i progetti Linux CMake, non è richiesto alcun supporto speciale per Visual Studio. È possibile installare Clang utilizzando il gestore dei pacchetti della distro e aggiungere i comandi appropriati nelle CMakeLists.file txt.

Installa

Per il miglior supporto IDE in Visual Studio, si consiglia di utilizzare i più recenti strumenti del compilatore Clang per Windows. Se non li hai già, puoi installarli aprendo il programma di installazione di Visual Studio e scegliendo C++ Clang compiler per Windows in Sviluppo desktop con componenti opzionali C++. Quando si utilizza un’installazione Clang personalizzata, controllare il componente C++ Clang-cl per v142 build tools.

 Installazione dei componenti Clang

Crea una nuova configurazione

Per aggiungere una nuova configurazione Clang a un progetto CMake:

  1. Fare clic destro su CMakeLists.txt in Esplora soluzioni e scegliere le impostazioni CMake per il progetto.

  2. In Configurazioni premere Aggiungi pulsante di Configurazione:

    Aggiungi configurazione

  3. Scegliere il Fragore di configurazione (nota che separano Clang configurazioni sono forniti per Windows e Linux), quindi premere Seleziona:

    CMake Clangore di configurazione

  4. Per apportare modifiche alla configurazione, utilizzare il CMake Editor delle Impostazioni. Per ulteriori informazioni, vedere Personalizzare le impostazioni di compilazione CMake in Visual Studio.

Modificare una configurazione esistente per utilizzare Clang

Per modificare una configurazione esistente per utilizzare Clang, attenersi alla seguente procedura:

  1. Fare clic destro su CMakeLists.txt in Esplora soluzioni e scegliere le impostazioni CMake per il progetto.

  2. In Generale selezionare il Set di strumenti a discesa e scegliere il set di strumenti Clang desiderato:

    Schermata della finestra di dialogo Generale che mostra che il set di strumenti è selezionato e clang cl x 86 è evidenziato.

Posizioni Clang personalizzate

Per impostazione predefinita, Visual Studio cerca Clang in due punti:

  • (Windows) La copia installata internamente di Clang / LLVM fornita con il programma di installazione di Visual Studio.
  • (Windows e Linux) La variabile di ambiente PATH.

È possibile specificare un’altra posizione impostando le variabili CMAKE_C_COMPILER e CMAKE_CXX_COMPILER CMake nelle Impostazioni CMake:

Schermata della finestra di dialogo C Make Settings con il compilatore C Make C X X evidenziato.

Modalità di compatibilità Clang

Per le configurazioni Windows, CMake richiama di default Clang in modalità clang-cl e si collega con l’implementazione Microsoft della Libreria Standard. Per impostazione predefinita, clang-cl.exe si trova in C:\Program Files (x86)\Microsoft Visual Studio19\Common7\IDE\CommonExtensions\Microsoft\Llvm\bin.

È possibile modificare questi valori nelle impostazioni CMake in variabili CMake e cache. Fare clic su Mostra variabili avanzate. Scorri verso il basso fino a trovare CMAKE_CXX_COMPILER, quindi fai clic sul pulsante Sfoglia per specificare un percorso del compilatore diverso.

Modifica, crea ed esegui il debug

Dopo aver impostato una configurazione Clang, puoi creare ed eseguire il debug del progetto. Visual Studio rileva che si sta utilizzando il compilatore Clang e fornisce IntelliSense, evidenziazione, navigazione e altre funzionalità di modifica. Errori e avvisi vengono visualizzati nella finestra di output.

Durante il debug, è possibile utilizzare i punti di interruzione, la visualizzazione di memoria e dati e la maggior parte delle altre funzionalità di debug. Alcune funzionalità dipendenti dal compilatore, come Modifica e Continua, non sono disponibili per le configurazioni Clang.

CMake Clang debug

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.