金子邦彦研究室インストールWindows の種々のソフトウェア(インストール)Clang, LLVM, MLIR, LLD, LLDB バージョン16のインストール(ソースコード,Build Tools for Visual Studio を使用)(Windows 上)

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

【関連する外部ページ】

前準備

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

Gitは,バージョン管理システム.ソースコードの管理や複数人での共同に役立つ.

サイト内の関連ページ

Windows での Git のインストール: 別ページ »で説明している.

関連する外部ページ

Git の公式ページ: https://git-scm.com/

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

CMake はビルドツールである.

サイト内の関連ページ

Windows での cmake のインストール: 別ページ »で説明している.

関連する外部ページ

CMake の公式ダウンロードページ: https://cmake.org/download/

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

サイト内の関連ページ

関連する外部ページ

Python の公式ページ: https://www.python.org/

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

Build Tools for Visual Studio 2022(ビルドツール for Visual Studio 2022)のインストールは,Visual Studio を使う予定がある場合(よく分からない場合を含む)と,使う予定がない場合(使う予定が無いことが確実な場合)で方法が分かれる.

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

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
    

    [image]
  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. 終了の確認

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

    [image]
  5. c:\llvm-project-16.0.6\bin を確認する.
    dir c:\llvm-project-16.0.6\bin
    

    [image]
  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 %HOMEPATH%
    notepad hello.c
    

    [image]
  3. いまメモ帳で開いたファイルを, 次のように編集する(コピー&ペーストしてください).そして保存する.
    #include<stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%ld\n", sizeof(size_t));
        return 0;
    }
    

    [image]
  4. 次のコマンドを実行

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

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

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

    実行結果例

    [image]