clang4.0.0使ってみた

普段ビルドに使っていない方のPCにclangを入れようとしたら結構バージョンが上がっていた。
忘れないようにメモっておく。

環境

環境はこんな感じ。

  • Windows7 Ultimate SP1 64bit
  • MinGW32 5.3.0
  • Clang 4.0.0

インストール

mingwとclangは両方ともインストーラを公式サイトからダウンロードしてインストールウィザードに従うだけで終わった。

環境変数

コンパイルするときの環境変数はこんな感じで。

set MINGW=C:\MinGW
set INC_TOP=%MINGW%\lib\gcc\mingw32\5.3.0\include
set PATH=%PATH%;%MINGW%\bin

set C_INCLUDE_PATH=%MINGW%\include
set CPLUS_INCLUDE_PATH=%C_INCLUDE_PATH%;%INC_TOP%\c++;%INC_TOP%\c++\mingw32

ちなみにMinGWへパスを通していないとldコマンドの実行でコケる。

コンパイル時の注意点

そのままだとVisualC++前提でコンパイルするらしく、「i686-pc-windows-msvc」というtargetでコンパイルしようとしてmingw用のヘッダファイルでコケてしまっていた。
解決策として「--target=i686-pc-windows-gnu」をコンパイル時引数に指定すると大丈夫だった。
たとえば以下のような感じになる。

>clang++ -std=c++11 --target=i686-pc-windows-gnu -o sample.exe source.cpp