Windows環境でLLVM/clangを構築するのは滅茶苦茶困難

注意: この記事は1年以上前に掲載されたものです。情報が古い場合がありますのでお気を付け下さい。

MacおよびiOS環境のデフォルトのコンパイラーとして使われているLLVM/clangだが、Windows環境で導入するにはかなりの困難が伴う。私もWindows 10 Proを用いていくつかのウェブ資料を元に環境構築に努めてみたが、現時点ではCMakeの時点で失敗に終わった。

ビルドで必要となるもの

Getting Started with the LLVM System using Microsoft Visual Studioによれば、Visual Studioでビルドする場合、以下のツールが必要になる。

また、スペースの含まれたディレクトリー ((Windows XPまででよく見られたC:\Documents and Settingsなど)) にLLVMの作業ファイルをインストールしてはならない。それをしてしまうとビルドが失敗するとのことである。

なお、Subversionを使う場合は、TortoiseSVNSilkSVNも必要になる。gitの場合はGit for Windowsが必要になる。

ビルド手順(途中まで)

上記がインストールされたあと、当方の場合はSubversionを使って、以下のコマンドを入れて、ソースコードをダウンロードした。

cd C:\
mkdir devel
cd .\devel
svn co http://llvm.org/svn/llvm-project/llvm/tags/RELEASE_362/final llvm
cd .\llvm\tools
svn co http://llvm.org/svn/llvm-project/cfe/tags/RELEASE_362/final clang
cd ..
cd projects
svn co http://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_362/final compiler-rt

その後、CMake(GUI)を起動して、ソースコードのディレクトリーとビルドターゲットのディレクトリーを別々に指定した上でconfigureをかけるのだが、当方の環境(Windows 10 Pro + Visual Studio 2015 Community)ではconfigureの段階で一部のファイルのアクセスが拒否されたことが原因となって失敗した。

エラーログを確認したところ、イクルードファイルが見つからないようなエラーがあるらしいことは確認できたが、現状では判断がつかない状態である。

Pre-build Binaryを使った場合

LLVM公式サイトではLLVM/ClangのPre-build Binaryも提供されているが、Windowsの場合は32bitバイナリーのみで、インストールしたところツールへのパスは通るが、インクルードヘッダーやライブラリーなどへのパスは通してくれない模様で、インストールしただけでは使えるような状態ではなかった。

最後に

まだまだWindows環境でLLVM/Clangを使うにはかなり面倒で、上手くいかないケースが非常に多いように見られる。ChocolateyやNuGetなどから簡単にインストールできるようになれば随分楽になれるのだが・・・。

タイトルとURLをコピーしました