私の知る限り、Visual Studio 2015にはclangが同梱されています。最初に私はこれがAndroidとiOSアプリのためだけでしたが、 この記事 によれば、Windowsプログラム用にclang ++フロントエンドを使用することも可能であるはずです。対応するオプションが見つかりません。
(VS2015 RC Community Editionの)c ++プロジェクトで使用するコンパイラをclangに変更する方法を教えてください。
VS2015 Update 1以降では、[新しいプロジェクト]ウィンドウで[Clang with Microsoft CodeGen]テンプレートをインストールでき、[インストール済み]-> [テンプレート]-> [Visual C++]-> [クロスプラットフォーム]を参照します。
その後、Microsoft CodeGenでClang 3.7を選択できますv140_clang_3_7
Windows C++プロジェクトのプロパティページにあるプラットフォームツールセット。
Clangには認識されるコマンドラインオプションの完全に異なるセットがあるため、v140_clang_3_7
ツールセット、プロジェクトプロパティはClang互換のオプションを使用する必要があり、-
の代わりに /
。たとえば、[デバッグ情報の形式]プロパティが[完全なデバッグ情報(DWARF2)(-g2 -gdwarf-2
)」、および「はい(-fexceptions
)」。
このブログ投稿 に詳細があります。
私の知る限り、ClangとGCCの両方にはAndroidおよびVisual Studio 2015のiOSクロスプラットフォームSDK /ツールが付属しています。
私が見たものから、それらのクロスプラットフォームプロジェクトの1つを持っている間、それらを選択することしかできません。
GLES C++アプリケーションのテンプレートプロジェクトを使用すると、次のオプションを取得できます。
一方、Windows C++アプリケーションの場合、以下のダイアログが表示され、Windowsターゲットプラットフォームがグレー表示され、読み取り専用であることがわかります。つまり、各ターゲットプラットフォーム用のツールキットのセットがある可能性がありますが、少なくとも、今。
ただし、通常のVSプロジェクトをクロスプラットフォームに変換する方法がわからないため、サードパーティコンパイラを使用してAndroidまたはiOSをすぐにターゲットにできる可能性があります。
ただし、ClangをXPツールキットと同じ方法で別のツールキットとしてインストールすることもできます。だから、誰かがそれをいじって既に利用可能にしているだけの問題かもしれません。インストール済み。
警告:この回答は、「Clang with Microsoft CodeGen」オプションがなかったVS2015より前のアップデート1です。
リンクされた投稿と特にコメントをもう一度読んだ後、私はこれがVS2015 RCに付属している機能ではなく、たとえばSPまたは(可能性が高い)VSの次のバージョンで出荷されます。
Sjdowlingが述べたように、現時点でできる最も近いこと(2015年10月、clang 3.7)は、 llvm for windows をダウンロードしてインストールすることです。これにより、LLVM-vs2014プラットフォームツールセットオプションが提供されます。私にとっては簡単なテストプログラムで動作しますが、明らかにこのバージョンの「clang-vs」はまだ例外をサポートしていないようです。ただし、 これらのメモ によれば、clang 3.8ではこの問題のほとんどを解決する必要があります。
上記のソリューションは機能しますが、Visual Studio 2015のインストールではデフォルトでオフになっているclangをインストールする必要があります。次のページでは、新しいプロジェクトを実行しているVisual Studioを閉じるように求められますが、受け入れられた答えはインストール方法を示しています。
Clangがリストに表示されないためにclangをインストールする方法を知りたい場合は、別の解決策があります。
https://blogs.msdn.Microsoft.com/vcblog/2016/03/31/clang-with-Microsoft-codegen-march-2016-released/