Visual Studio プロジェクトでの Clang/LLVM のサポート
CMake プロジェクトと MSBuild プロジェクトの両方に対する Clang/LLVM のサポートは、Visual Studio 2019 と Visual Studio 2022 で利用できます。
Visual Studio 2019 バージョン 16.2 以降と Clang/LLVM を使用して、Windows または Linux を対象とする C++ Visual Studio プロジェクト (MSBuild) を編集、ビルド、デバッグできます。
インストール
Visual Studio での IDE のサポートを十分に活用するために、Windows 用の最新の Clang コンパイラ ツールを使用することをお勧めします。 そのツールをまだインストールしていない場合は、Visual Studio インストーラーを開いて、[C++ によるデスクトップ開発] オプション コンポーネントの下にある [Windows 用 C++ Clang コンパイラ] を選択してインストールできます。 マシンに既存の Clang インストールを使用することをお勧めします。その場合は、v142 ビルド ツールの場合は C++ Clang-cl、v143 ビルド ツールの場合は C++ Clang-cl を選択します。
インストール
Visual Studio での IDE のサポートを十分に活用するために、Windows 用の最新の Clang コンパイラ ツールを使用することをお勧めします。 そのツールをまだインストールしていない場合は、Visual Studio インストーラーを開いて、[C++ によるデスクトップ開発] オプション コンポーネントの下にある [Windows 用 C++ Clang コンパイラ] を選択してインストールできます。 マシンに既存の Clang インストールを使用することをお勧めします。その場合は、LLVM (clang-cl) ツールセットの MSBuild サポートを選択 します。
Microsoft C++ 標準ライブラリ用には Clang 8.0.0 以上が必要です。
新しいバージョンの Visual Studio では、Clang ツールセットの新しいバージョンが提供されます。 バンドルされたバージョンの Clang は自動的に更新され、この標準ライブラリの Microsoft による実装の更新に合わせて最新の状態に保たれます。 たとえば、Visual Studio 2019 バージョン 16.11 には Clang v12 が含まれています。
Windows プロジェクトを Clang ツールを使用するように構成する
Visual Studio プロジェクトを Clang を使用するように構成するには、ソリューション エクスプローラーでプロジェクト ノードを右クリックし、[プロパティ] を選択します。 通常は、最初にダイアログの上部にある [すべての構成] を選択する必要があります。 次に、[全般]>[プラットフォーム ツールセット] で、[LLVM (clang-cl)] を選択し、[OK] を選択します。
Visual Studio にバンドルされている Clang ツールを使用する場合は、追加の手順は必要ありません。 Windows プロジェクトの場合、Visual Studio の既定では、Clang が clang-cl モードで呼び出されます。 それがこの標準ライブラリの Microsoft による実装とリンクされます。 既定では、clang-cl.exe は、%VCINSTALLDIR%\Tools\Llvm\bin\ と %VCINSTALLDIR%\Tools\Llvm\x64\bin\ にあります。
カスタム Clang インストールを使用している場合は、プロパティの値を LLVMInstallDir
変更できます。 詳細については、「カスタム LLVM の場所を設定する」を参照してください。
Linux プロジェクトを Clang ツールを使用するように構成する
Linux プロジェクトの場合、Visual Studio では Clang GCC と互換性のあるフロントエンドが使用されます。 プロジェクトのプロパティとほぼすべてのコンパイラ フラグは同じです。
Visual Studio の Linux プロジェクトを Clang を使用するように構成するには:
- ソリューション エクスプローラーでプロジェクト ノードを右クリックし、[プロパティ] を選択します。
- 通常は、最初にダイアログの上部にある [すべての構成] を選択する必要があります。
- Linux 用 Windows サブシステム (WSL) を使用する場合は、[全般]>[プラットフォーム ツールセット] で [Linux 用 Windows サブシステムの Clang] を選択します。 リモート コンピューターまたは VM を使用する場合は、[リモート Linux の Clang] を選択します。
- OK をクリックします。
Linux 上の Visual Studio の場合、PATH 環境プロパティで検出された最初の Clang の場所が既定で使用されます。 Clang のカスタム インストールを使用する場合は、LLVMInstallDir
プロパティの値を変更するか、[プロジェクト]>[プロパティ]>[構成プロパティ]>[VC++ ディレクトリ]>[実行可能ファイルのディレクトリ] でパスを入力する必要があります。 詳細については、「カスタム LLVM の場所を設定する」を参照してください。
カスタム LLVM の場所とツールセットを設定する
LLVM へのカスタム パスを設定し、1 つ以上のプロジェクトのカスタム LLVM ツールセット バージョンを設定するには、Directory.build.props ファイルを作成します。 次に、そのファイルを任意のプロジェクトのルート フォルダーに追加します。 ソリューションのルート フォルダーに追加することで、ソリューションに含まれるすべてのプロジェクトに適用できます。 ファイルは次の例のようになります (ただし、実際の LLVM パスとバージョン番号を使用します)。
<Project>
<PropertyGroup>
<LLVMInstallDir>C:\MyLLVMRootDir</LLVMInstallDir>
<LLVMToolsVersion>15.0.0</LLVMToolsVersion>
</PropertyGroup>
</Project>
IDE でカスタム LLVM ツールセットのバージョンを設定する
Visual Studio 2019 バージョン 16.9 以降では、Visual Studio で LLVM のカスタム ツールセット バージョンを設定できます。 プロジェクトでこのプロパティを設定するには:
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、「C++ コンパイラとビルドのプロパティを設定する」を参照してください。
[構成プロパティ]>[全般] プロパティ ページを選択します。
[プラットフォーム ツールセット] プロパティがまだ設定されていない場合は、[LLVM (clang-cl)] に変更します。 [適用] を選択して変更を保存します。
[構成プロパティ]>[詳細] プロパティ ページを選択します。
[LLVM ツールセット バージョン] プロパティを自分が使用するバージョンに変更し、[OK] を選択して変更を保存します。
[LLVM ツールセット バージョン] プロパティは、LLVM プラットフォーム ツールセットが選択されている場合にのみ表示されます。
Directory.build.props ファイルをプロジェクトまたはソリューションに追加すると、設定はプロジェクトの [プロパティ ページ] ダイアログに既定値として表示されます。 ただし、Visual Studio でこれらのプロパティを変更すると、Directory.build.props ファイル内の設定がオーバーライドされます。
プロパティの設定、編集、ビルド、デバッグ
Clang 構成を設定した後、プロジェクト ノードをもう一度右クリックし、[プロジェクトの再読み込み] を選択します。 これで、Clang ツールを使用してプロジェクトのビルドとデバッグを実行できます。 Visual Studio によって、Clang コンパイラを使用していることが検出され、IntelliSense、強調表示、ナビゲーション、およびその他の編集機能が提供されます。 エラーと警告は [出力] ウィンドウに表示されます。 Clang 構成のプロジェクト プロパティ ページは、MSVC のものに似ています。 ただし、エディット コンティニュなどの一部のコンパイラ依存機能は、Clang 構成では使用できません。 プロパティ ページで使用できない Clang コンパイラまたはリンカー オプションを設定することができます。 プロパティ ページの [構成プロパティ]>[C/C++] (または [リンカー])>[コマンド ライン]>[追加のオプション]で、手動で追加します。
デバッグ時には、ブレークポイント、メモリとデータの視覚化、およびその他のほとんどのデバッグ機能を使用できます。