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 を入手してインストールする。
clang, flang, ninja (C/C++コンパイラ,FORTRAN コンパイラ・ビルドシステム)のインストール
-
管理者権限でコマンドプロンプトを起動する (手順:Windowsキーまたはスタートメニュー →
cmdと入力 → 右クリック → 「管理者として実行」)。ここでは Miniforge をインストールしたので、Miniforge Prompt を管理者として実行する(スタートメニューの Miniforge のフォルダにある)。
- Ninja, clang, flang および関連パッケージのインストール
conda update -n base conda conda install -y cmake flang_win-64 clangdev perl libflang ninja - 新しく、Windows の Miniforge Prompt を開く。
- clang, flang のバージョン、インストールディレクトリ等の確認
clang --version flang --version - システム環境変数 LIB の先頭に次を追加する。
Miniforge の配下にインストールされたライブラリ等を有効にするためである。「c:\tools\miniforge3」は実際のインストールディレクトリに置き換えること。
c:\tools\miniforge3\Library\lib - システム環境変数 CPATH の先頭に次を追加する。
「c:\tools\miniforge3」は実際のインストールディレクトリに置き換えること。
c:\tools\miniforge3\Library\include
clang を使ってみる
- エディタを使って次のプログラムファイルを作成する。「hello.c」のようなファイル名で保存する。
#include <stdio.h> int main() { printf("Hello,World!\n"); printf("sizeof(size_t)=%zu\n", sizeof(size_t)); return 0; } - 以下の操作を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'
- clang のバージョン表示を行ってみる。
エディタを使って次のプログラムファイルを作成する。「clangver.c」のようなファイル名で保存する。
#include <stdio.h> int main() { printf("%s\n", __clang_version__); return 0; } - 以下の操作を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 コンパイラを使ってみる
- エディタを使って次のプログラムファイルを作成する。「hello.f」のようなファイル名で保存する。
program hello print *, "Hello, World!" end program hello - 以下の操作を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