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.10,Git,CMake のインストール(Windows 上)
Pythonは,プログラミング言語の1つ. Gitは,分散型のバージョン管理システム. CMakeは,クロスプラットフォームのビルドシステム生成ツール.
【手順】
- Windows で,コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Python ランチャーとPython 3.10とGitとCMakeをインストールし,Gitにパスを通すものである.
次のコマンドでインストールされるGitは 「git for Windows」と呼ばれるものであり, Git,MinGW などから構成されている.
winget install --scope machine Python.Launcher winget install --scope machine Python.Python.3.10 winget install --scope machine Git.Git powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\Git\cmd\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")" winget install --scope machine Kitware.CMake powershell -command "$oldpath = [System.Environment]::GetEnvironmentVariable(\"Path\", \"Machine\"); $oldpath += \";c:\Program Files\CMake\bin\"; [System.Environment]::SetEnvironmentVariable(\"Path\", $oldpath, \"Machine\")"
【関連する外部ページ】
- Python の公式ページ: https://www.python.org/
- Git の公式ページ: https://git-scm.com/
- CMake の公式ダウンロードページ: https://cmake.org/download/
【サイト内の関連ページ】
【関連項目】 Python, Git バージョン管理システム, Git の利用, CMake ビルドシステム生成ツール, CMake の使用方法
Build Tools for Visual Studio 2022 (ビルドツール for Visual Studio 2022)または Visual Studio 2022 のインストール(Windows 上)
【インストールの判断】 Build Tools for Visual Studio は,開発ツールセットである. Visual Studio は統合開発環境であり,いくつかの種類があり,Build Tools for Visual Studioの機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:
- Build Tools for Visual Studio の機能のみが必要な場合
- Visual Studio の機能が必要である,あるいは,よく分からない場合
Visual Studio 2022 をインストールする際に,「C++ によるデスクトップ開発」を選択することで, Build Tools for Visual Studio 2022 の機能も一緒にインストールされる.
不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.
Build Tools for Visual Studio 2022 のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.
- Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
- Visual Studio Installer の起動
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
- Visual Studio Build Tools 2022 で「変更」を選ぶ.
- 「C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.
- Visual Studio Installer の起動
Visual Studio のインストール(Windows 上)
- Windows で,コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行: 別ページ »で説明
次のコマンドを実行
次のコマンドは,Visual Studio Community 2022と VC2015 再配布可能パッケージをインストールするものである.
- Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
- Visual Studio Installer の起動
起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.
- Visual Studio Community 2022 で「変更」を選ぶ.
- 「C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.
- Visual Studio Installer の起動
LLVM バージョン 16,MLIR バージョン 16 のインストール(Windows 上)
SWIG のインストール(Windows 上)
【インストール手順】
- Windows で,コマンドプロンプトを管理者として実行
コマンドプロンプトを管理者として実行: 別ページ »で説明
- 次のコマンドを実行
次のコマンドは,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
実行結果例