clang, flang, ninja (C/C++コンパイラ,FORTRAN コンパイラ,ビルドシステム)のインストール(Miniforge を使用)(Windows 上)

概要

Windows での、clang(C/C++ コンパイラ)、flang(FORTRAN コンパイラ)、Ninja(ビルドシステム)のインストール手順を説明する。インストールには Miniforge を用いる。Miniforge は conda-forge を既定チャンネルとする最小構成の conda インストーラであり、conda-forge のパッケージを追加チャンネルの指定なしで導入できる。

目次

関連する外部ページ

OpenBLAS を Visual Studio で使う方法:https://github.com/OpenMathLib/OpenBLAS/wiki/How-to-use-OpenBLAS-in-Microsoft-Visual-Studio

サイト内の関連情報

ここで導入した clang, flang, ninja は、「OpenBLAS の Windows でのビルド」で利用する。

前準備

マイクロソフト C++ ビルドツール (Build Tools) のインストール

Windows での マイクロソフト C++ ビルドツール (Build Tools) のインストール手順は、「別のページ」で説明している。

Miniforge のインストール

Miniforge の Releases ページ(https://github.com/conda-forge/miniforge/releases/)から、64ビット Windows 向けのインストーラ Miniforge3-Windows-x86_64.exe を入手してインストールする。

以前は Miniconda を用いていたが、Miniforge は conda-forge を既定チャンネルとし、追加チャンネルの指定なしで clang, flang, ninja などを導入できるため、ここでは Miniforge を用いる。

clang, flang, ninja (C/C++コンパイラ,FORTRAN コンパイラ・ビルドシステム)のインストール

  1. 管理者権限コマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー → cmd と入力 → 右クリック → 「管理者として実行」)。

    ここでは Miniforge をインストールしたので、Miniforge Prompt を管理者として実行する(スタートメニューの Miniforge のフォルダにある)。

  2. Ninja, clang, flang および関連パッケージのインストール
    conda update -n base conda
    conda install -y cmake flang_win-64 clangdev perl libflang ninja
    
  3. 新しくWindows の Miniforge Prompt を開く。
  4. clang, flang のバージョン、インストールディレクトリ等の確認
    clang --version
    flang --version
    
  5. システム環境変数 LIB先頭に次を追加する。

    Miniforge の配下にインストールされたライブラリ等を有効にするためである。「c:\tools\miniforge3」は実際のインストールディレクトリに置き換えること。

    c:\tools\miniforge3\Library\lib
    
  6. システム環境変数 CPATH先頭に次を追加する。

    c:\tools\miniforge3」は実際のインストールディレクトリに置き換えること。

    c:\tools\miniforge3\Library\include
    

clang を使ってみる

  1. エディタを使って次のプログラムファイルを作成する。「hello.c」のようなファイル名で保存する。
    #include <stdio.h>
    int main() {
        printf("Hello,World!\n");
        printf("sizeof(size_t)=%zu\n", sizeof(size_t));
        return 0;
    }
    
  2. 以下の操作をx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する(手順:スタートメニュー → 「Visual C++ Build Tools」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ)。
    「x64 Native Tools コマンドプロンプト」がないときは、ビルドツール (Build Tools) をインストールすると、x64 Native Tools コマンドプロンプトもインストールされる。その手順は、別ページ »で説明している。

    結果として、「Hello,World!」「sizeof(size_t)=8」と表示されればよい。

    clang -o hello.exe hello.c
    .\hello.exe
    
    このとき次のようなエラーメッセージが出ることがある。これは Microsoft Visual Studio の C/C++ の 64ビット環境が有効になっていない場合に起きる。x64 Native Tools コマンドプロンプトを使っているか確認する。
    warning LNK4272: library machine type 'X86' conflicts with target machine type 'x64'
    
  3. clang のバージョン表示を行ってみる。

    エディタを使って次のプログラムファイルを作成する。「clangver.c」のようなファイル名で保存する。

    #include <stdio.h>
    
    int main() {
        printf("%s\n", __clang_version__);
        return 0;
    }
    
  4. 以下の操作をx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する(手順:スタートメニュー → 「Visual C++ Build Tools」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ)。
    clang -o a.exe clangver.c
    .\a.exe
    

flang の FORTRAN コンパイラを使ってみる

  1. エディタを使って次のプログラムファイルを作成する。「hello.f」のようなファイル名で保存する。
            program hello
              print *, "Hello, World!"
            end program hello
    
  2. 以下の操作をx64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)で実行する(手順:スタートメニュー → 「Visual C++ Build Tools」の下の「x64 Native Tools コマンドプロンプト (x64 Native Tools Command Prompt)」を選ぶ)。
    「x64 Native Tools コマンドプロンプト」がないときは、ビルドツール (Build Tools) をインストールすると、x64 Native Tools コマンドプロンプトもインストールされる。その手順は、別ページ »で説明している。

    結果として、「Hello, World!」と表示されればよい。

    flang -o a.exe hello.f
    .\a.exe