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 は,デバッガの機能を持つ.

【関連する外部ページ】

前準備

Python 3.10,Git,CMake のインストール(Windows 上)

Pythonは,プログラミング言語の1つ. Gitは,分散型のバージョン管理システム. CMakeは,クロスプラットフォームのビルドシステム生成ツール.

手順

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Python ランチャーとPython 3.10とGitCMakeをインストールし,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, 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の機能を含むか連携して使用するものである.インストールは以下の基準で判断してください:

不明な点がある場合は,Visual Studio 全体をインストール を行う方が良い.

Build Tools for Visual Studio 2022 のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Build Tools for Visual Studio 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.BuildTools 
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Build Tools for Visual Studio 2022 での C++ によるデスクトップ開発,CLI,ATL,MFC のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Build Tools 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をクリック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」,「ATL」,「MFC」をチェックする.その後,「変更」をクリック.

Visual Studio のインストール(Windows 上)

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

    次のコマンドを実行

    次のコマンドは,Visual Studio Community 2022と VC2015 再配布可能パッケージをインストールするものである.

    winget install --scope machine Microsoft.VisualStudio.2022.Community
    winget install --scope machine Microsoft.VCRedist.2015+.x64
    
  2. Visual Studio での C++ によるデスクトップ開発,CLI のインストール(Windows 上)
    1. Visual Studio Installer の起動

      起動方法: スタートメニューの「Visual Studio Installer」を選ぶ.

    2. Visual Studio Community 2022 で「変更」を選ぶ.
    3. C++ によるデスクトップ開発」をチェック.そして,画面右側の「インストール」の詳細で「v143 ビルドツール用 C++/CLI サポート(最新)」をチェックする.その後,「インストール」をクリック.

LLVM バージョン 16,MLIR バージョン 16 のインストール(Windows 上)

SWIG のインストール(Windows 上)

インストール手順

  1. Windows で,コマンドプロンプト管理者として実行

    コマンドプロンプトを管理者として実行: 別ページ »で説明

  2. 次のコマンドを実行

    次のコマンドは,SWIG をインストールするものである.

    winget install --scope machine SWIG.SWIG
    powershell -command "[System.Environment]::SetEnvironmentVariable(\"SWIG_PATH\", \"C:\Program Files\WinGet\Links\", \"Machine\")"
    

関連する外部ページ

関連項目SWIG, SWIG の利用

LLVM バージョン 16,MLIR バージョン 16 のインストール(Windows 上)

  1. Visual Studio の x64 Native Tools コマンドプロンプト管理者として実行する.

    起動は,Windows のメニューで「Visual Studio 20..」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ.「x64」は,64ビット版の意味である. 管理者として実行するためには,右クリックメニューが便利である.

  2. 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
    
  3. 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
    
  4. 終了の確認

    エラーメッセージが出ないこと.

  5. c:\llvm-project-16.0.6\bin を確認する.
    dir c:\llvm-project-16.0.6\bin
    
  6. Windowsシステム環境変数 Pathc:\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\")"
    
  7. Windowsシステム環境変数 LLVM_DIRに,c:\llvm-project-16.0.6設定

    次のコマンドを実行

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"LLVM_DIR\", \"c:\llvm-project-16.0.6\", \"Machine\")"
    
  8. Windowsシステム環境変数 MLIR_DIRに,c:\llvm-project-16.0.6設定

    次のコマンドを実行

    powershell -command "[System.Environment]::SetEnvironmentVariable(\"MLIR_DIR\", \"c:\llvm-project-16.0.6\", \"Machine\")"
    

Clang の動作確認

  1. Visual Studio の x64 Native Tools コマンドプロンプトを実行する.
  2. エディタを起動

    ここではメモ帳 (notepad) を使っている.

    x64 Native Tools コマンドプロンプト で,次のコマンドを実行する. ファイル名は hello.c としている.

    c:
    cd /d c:%HOMEPATH%
    notepad hello.c
    
  3. いまメモ帳で開いたファイルを, 次のように編集する(コピー&ペーストしてください).そして保存する.
    #include<stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    
  4. 次のコマンドを実行

    x64 Native Tools コマンドプロンプトを使うこと.

    結果として,「Hello,World!」「sizeof(size_t)=8」と表示されればOK.

    cd /d c:%HOMEPATH%
    del hello.exe
    clang-cl hello.c
    .\hello.exe
    

    実行結果例