Clang, LLVM, MLIR, LLD, LLDB バージョン16のインストール(ソースコードを用いたインストール)(Build Tools for Visual Studio を使用)(Windows 上)
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 は,デバッガの機能を持つ.
【関連する外部ページ】
- Clang の公式ページ: https://clang.llvm.org/
- Clang のインストールの公式ページ: https://clang.llvm.org/get_started.html
- LLVM の公式ページ: https://llvm.org/
- LLVM のインストールの公式ページ: https://llvm.org/docs/GettingStarted.html
- LLD の公式ページ: https://lld.llvm.org/
- LLDB の公式ページ: https://lldb.llvm.org/
前準備
Python 3.12 のインストール
インストール済みの場合は実行不要。
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。
REM Python をシステム領域にインストール
winget install --scope machine --id Python.Python.3.12 -e --silent
REM Python のパス設定
set "PYTHON_PATH=C:\Program Files\Python312"
set "PYTHON_SCRIPTS_PATH=C:\Program Files\Python312\Scripts"
echo "%PATH%" | find /i "%PYTHON_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_PATH%" /M >nul
echo "%PATH%" | find /i "%PYTHON_SCRIPTS_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%PYTHON_SCRIPTS_PATH%" /M >nul
【関連する外部ページ】
Python の公式ページ: https://www.python.org/
AI エディタ Windsurf のインストール
Pythonプログラムの編集・実行には、AI エディタの利用を推奨する。ここでは,Windsurfのインストールを説明する。
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行して、Windsurfをシステム全体にインストールする。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。
winget install --scope machine Codeium.Windsurf -e --silent
【関連する外部ページ】
Windsurf の公式ページ: https://windsurf.com/
Gitのインストール
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。
REM Git をシステム領域にインストール
winget install --scope machine --id Git.Git -e --silent
REM Git のパス設定
set "GIT_PATH=C:\Program Files\Git\cmd"
if exist "%GIT_PATH%" (
echo "%PATH%" | find /i "%GIT_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%GIT_PATH%" /M >nul
)
CMakeのインストール
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要となる。
REM CMake をシステム領域にインストール
winget install --scope machine --id Kitware.CMake -e --silent
REM CMake のパス設定
set "GMAKE_PATH=C:\Program Files\CMake\bin"
if exist "%GMAKE_PATH%" (
echo "%PATH%" | find /i "%GMAKE_PATH%" >nul
if errorlevel 1 setx PATH "%PATH%;%GMAKE_PATH%" /M >nul
)
Visual Studio 2022 Build Toolsとランタイムのインストール
管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)し、以下を実行する。管理者権限は、wingetの--scope machineオプションでシステム全体にソフトウェアをインストールするために必要である。
REM Visual Studio 2022 Build Toolsとランタイムのインストール
winget install --scope machine Microsoft.VisualStudio.2022.BuildTools Microsoft.VCRedist.2015+.x64
set VS_INSTALLER="C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe"
set VS_PATH="C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools"
REM C++開発ワークロードのインストール
%VS_INSTALLER% modify --installPath %VS_PATH% ^
--add Microsoft.VisualStudio.Workload.VCTools ^
--add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 ^
--add Microsoft.VisualStudio.Component.Windows11SDK.22621 ^
--includeRecommended --quiet --norestart
LLVM バージョン 16,MLIR バージョン 16 のインストール(Windows 上)
SWIG のインストール(Windows 上)
【インストール手順】
- Windows で,管理者権限でコマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー >
cmd
と入力 > 右クリック > 「管理者として実行」)。 - 次のコマンドを実行
次のコマンドは,SWIG をインストールするものである.
winget install --scope machine SWIG.SWIG powershell -command "[System.Environment]::SetEnvironmentVariable(\"SWIG_PATH\", \"C:\Program Files\WinGet\Links\", \"Machine\")"
【関連する外部ページ】
- SWIG の公式ページ: https://www.swig.org/
LLVM バージョン 16,MLIR バージョン 16 のインストール(Windows 上)
- Visual Studio の x64 Native Tools コマンドプロンプトを管理者として実行する.
- Microsoft Debug Interface Access (DIA) DLLs の登録と,psutil のインストール
公式ページの 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
- LLVM バージョン 16,MLIR バージョン 16 のインストール
次のコマンドを実行
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-16.0.6 git clone --recursive -b llvmorg-16.0.6 https://github.com/llvm/llvm-project.git move llvm-project llvm-project-16.0.6 cd C:\llvm-project-16.0.6 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-16.0.6" cmake --build . --config RELEASE -- /m:4 cmake --build . --config RELEASE --target INSTALL -- /m:4
- 終了の確認
エラーメッセージが出ないこと.
- c:\llvm-project-16.0.6\bin を確認する.
dir c:\llvm-project-16.0.6\bin
- Windows のシステム環境変数 Path に c:\llvm-project-16.0.6\bin を追加することにより,パスを通す.
次のコマンドを実行
powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\llvm-project-16.0.6\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
- Windows の システム環境変数 LLVM_DIRに,c:\llvm-project-16.0.6 を設定.
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"LLVM_DIR\", \"c:\llvm-project-16.0.6\", \"Machine\")"
- Windows の システム環境変数 MLIR_DIRに,c:\llvm-project-16.0.6 を設定.
次のコマンドを実行
powershell -command "[System.Environment]::SetEnvironmentVariable(\"MLIR_DIR\", \"c:\llvm-project-16.0.6\", \"Machine\")"
Clang の動作確認
- Visual Studio の x64 Native Tools コマンドプロンプトを実行する.
- エディタを起動
ここではメモ帳 (notepad) を使っている.
x64 Native Tools コマンドプロンプト で,次のコマンドを実行する. ファイル名は hello.c としている.
c: cd /d c:%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 /d c:%HOMEPATH% del hello.exe clang-cl hello.c .\hello.exe
実行結果例