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.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 上)

インストール手順

  1. Windows で,管理者権限コマンドプロンプトを起動(手順:Windowsキーまたはスタートメニュー > cmd と入力 > 右クリック > 「管理者として実行」)。
  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
    

    実行結果例