Come compilare C++ per Windows con clang in Visual Studio 2015

Come compilare C++ per Windows con clang in Visual Studio 2015

A partire da VS2015 Update 1 puoi installare il modello "Clang with Microsoft CodeGen" tramite la finestra Nuovo progetto, vai su Installato -> Modelli -> Visual C++ -> Multipiattaforma.

Potrai quindi scegliere Clang 3.7 con Microsoft CodeGen v140_clang_3_7 Platform Toolset nella pagina delle proprietà di qualsiasi progetto Windows C++.

Clang ha un insieme completamente diverso di opzioni della riga di comando che riconosce, quindi quando si utilizza il v140_clang_3_7 set di strumenti, le proprietà del progetto devono utilizzare opzioni compatibili con Clang, che possono essere riconosciute come a partire da - invece di / . Ad esempio, la proprietà Formato informazioni di debug impostata su "Informazioni di debug complete (DWARF2) (-g2 -gdwarf-2 )" e la proprietà Abilita eccezioni C++ impostata su "Sì (-fexceptions )".

Ci sono ulteriori informazioni in questo post del blog.


Per quanto ho capito, sia Clang che GCC vengono forniti con gli SDK/strumenti multipiattaforma Android e iOS per Visual Studio 2015.

Da quello che ho visto, mi consente solo di sceglierli mentre ho uno di quei progetti multipiattaforma.

Utilizzando il progetto modello per un'applicazione GLES C++ si ottengono le seguenti opzioni:

Mentre per un'applicazione Windows C++ viene visualizzata la finestra di dialogo seguente in cui è possibile vedere che la piattaforma di destinazione di Windows è disattivata e di sola lettura, il che significa che probabilmente hai un set di toolkit per ciascuna piattaforma di destinazione, ma semplicemente non puoi cambiarla, almeno per adesso.

Tuttavia, non ho idea di come trasformare un normale progetto VS in multipiattaforma ed è probabile che tu possa scegliere come target solo Android o iOS immediatamente utilizzando compilatori di terze parti.

Tuttavia, potrebbe essere possibile installare Clang come un altro toolkit allo stesso modo dei toolkit di XP. Quindi forse è solo questione di qualcuno che ci manipola e lo rende disponibile poiché è già installato.

Avvertenza:Questa risposta è precedente all'aggiornamento 1 di VS2015 che non aveva l'opzione "Clang with Microsoft CodeGen".


Dopo aver letto di nuovo il post collegato e in particolare i commenti, sono arrivato a capire che questa non è una funzionalità fornita con VS2015 RC ma una possibile funzionalità futura che potrebbe ad es. essere spedito in un SP o (più probabilmente) con la prossima versione di VS.

Come accennato da sjdowling, la cosa più vicina che puoi fare al momento (ottobre 2015, clang 3.7) è scaricare e installare llvm per Windows. Questo dovrebbe darti un'opzione del set di strumenti della piattaforma LLVM-vs2014. Per me funziona con semplici programmi di test, ma a quanto pare questa versione di "clang-vs" sembra non supportare ancora le eccezioni. Tuttavia, secondo queste note, quel problema dovrebbe essere risolto principalmente per il clang 3.8.