Clang は,LLVMのサブプロジェクトである. C言語ファミリ(C,C++,Objective C/C++,OpenCL,CUDA,RenderScript)の機能, GCC互換のコンパイラドライバ (clang) の機能, MSVC互換のコンパイラドライバ (clang-cl.exe) の機能を持つ.
LLVM には,コンパイラ,ツールチェーンに関するさまざまなサブプロジェクトとして, LVM Core, Clang, LLD, LLDB, libc++ などのサブプロジェクトがある.
LLD は,LLVMのサブプロジェクトである. LLD は,高速に動作するリンカーの機能を持つ.
LLDB は,LLVMのサブプロジェクトである. LLDB は,デバッガの機能を持つ.
【関連する外部ページ】
Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.
【サイト内の関連ページ】
Windows での Git のインストール: 別ページ »で説明している.
【関連する外部ページ】
Git の公式ページ: https://git-scm.com/
CMake はビルドツールである.
【サイト内の関連ページ】
Windows での cmake のインストール: 別ページ »で説明している.
【関連する外部ページ】
CMake の公式ダウンロードページ: https://cmake.org/download/
【サイト内の関連ページ】
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
【サイト内の関連ページ】
Windows での Visual Studio Community 2022 のインストール: 別ページ »で説明している.なお,Visual Studio には,ビルドツール(Build Tools)が含まれている.
Windows での ビルドツール for Visual Studio 2022 (Build Tools for Visual Studio 2022) のインストール: 別ページ »で説明している.
【関連する外部ページ】
公式ページの https://llvm.org/docs/GettingStartedVS.htmlの記載による.
regsvr32 "%VSINSTALLDIR%\DIA SDK\bin\msdia140.dll" regsvr32 "%VSINSTALLDIR%\DIA SDK\bin\amd64\msdia140.dll" python -m pip install -U psutil python -m pip install -U lit
次のコマンドを実行
cmake のオプションの 「Visual Studio 17 2022」のところは, 使用する Visual Studio のバージョンにあわせること. Visual Studio 2022 のときは,「Visual Studio 17 2022」. Visual Studio 2019 のときは,「Visual Studio 16 2019」.
「-DLLVM_ENABLE_PROJECTS="mlir;clang;clang-tools-extra;lld;lldb"」は, bolt, clang, clang-tools-extra, compiler-rt, cross-project-tests, libc, libclc, lld, lldb, mlir, openmp, polly, pstl, flang は選べることになっている. clang;clang-tools-extra;lld;lldb 以外を選ぶと,エラーが出る可能性があるので,インストールのときに確認しながら行うこと.
-b の後に指定するタグは, https://github.com/llvm/llvm-project/tagsで確認できる. このページを確認し,必要に応じて適切なものを選ぶこと.
手順の流れは,公式ページ: https://clang.llvm.org/get_started.html に従っている.
LLVM の cmake のオプションについては,公式ページ: https://www.llvm.org/docs/CMake.html に説明がある.
C: cd C:\ rmdir /s /q llvm-project-15.0.7 git clone --recursive -b llvmorg-15.0.7 https://github.com/llvm/llvm-project.git move llvm-project llvm-project-15.0.7 cd C:\llvm-project-15.0.7 rmdir /s /q build mkdir build cd build cmake ..\llvm -G "Visual Studio 17 2022" -A x64 -T host=x64 ^ -DCMAKE_TOOLCHAIN_FILE=OFF ^ -DCMAKE_BUILD_TYPE=Release ^ -DLLVM_INSTALL_UTILS=ON ^ -DLLVM_TARGETS_TO_BUILD="X86;NVPTX;AMDGPU" ^ -DLLVM_ENABLE_PROJECTS="mlir;clang;clang-tools-extra;lld;lldb" ^ -DCMAKE_INSTALL_PREFIX="C:\llvm-project-15.0.7" cmake --build . --config RELEASE -- /m:4 cmake --build . --config RELEASE --target INSTALL -- /m:4
エラーメッセージが出ないこと.
dir c:\llvm-project-15.0.7\bin
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\llvm-project-15.0.7\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"LLVM_DIR\", \"c:\llvm-project-15.0.7\", \"Machine\")"
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"MLIR_DIR\", \"c:\llvm-project-15.0.7\", \"Machine\")"
ここではメモ帳 (notepad) を使っている.
x64 Native Tools コマンドプロンプト で,次のコマンドを実行する. ファイル名は hello.c としている.
c: cd %HOMEPATH% notepad hello.c
#include<stdio.h> int main() { printf("Hello,World!\n"); printf("sizeof(size_t)=%ld\n", sizeof(size_t)); return 0; }
x64 Native Tools コマンドプロンプトを使うこと.
結果として,「Hello,World!」「sizeof(size_t)=8」と表示されればOK.
cd %HOMEPATH% del hello.exe clang-cl hello.c .\hello.exe
実行結果例