※ 完全に自分用の記事です。自分がした手順をまとめているだけです。
※ この手の情報は検索すればよく出てくるので、そちらを参考にしてもらったほうが良いです。
参照: clang/LLVMをWindowsでビルドする - 原色奈良阪 LLVM を Windows で使う(clang 編) - 電脳スピーチ blog
準備したもの
MinGWhttp://www.mingw.org/ からインストーラーをダウンロードしてセットアップ
※ 筆者環境は Windows 8 のためか、64bit 版の MinGW が必要になった。途中でダメなことに気づき 64bit 版のセットアップをしました。
CMake
cygwin の cmake は MinGW の Generator がなかったので、http://www.cmake.org/ から Windows インストーラーをダウンロードしてパスを通しました。
LLVM/clang
http://llvm.org/ のダウンロードページから LLVM source code と Clang source code をダウンロードし、
任意の場所に展開しました。
Clang は展開した後 clang にリネームして、llvm-3.3.src\tools に移動しました。
ビルド
パスを通す
MinGW のパスを環境変数に設定していないので、コマンドプロンプトを開いた後パスを通しました。set path=C:\MinGW\bin;%PATH%
cmake
cmake のワーキングディレクトリとして、適当にフォルダを作成します。今回は、build として作成しました。作成後、build ディレクトリに移動し cmake を実行します。
llvm-3.3.src>mkdir build llvm-3.3.src>cd build llvm-3.3.src>cmake -G "MinGW Makefiles" -D CMAKE_INSTALL_PREFIX=C:\usr\LLVM ..
libiconv-2.dll
cmake を実行したら libiconv-2.dll がないと言われて失敗してしまいました。検索してもいまいちわからなかったので、msys の bin にあった msys-iconv-2.dll を C:\MinGW\bin にリネームしてコピーしました。
(今思えば コマンドプロンプトからではなく msys でやるべきだったのかも)
make
cmake が完了したら、build ディレクトリで make をします。ビルドエラー
70% くらい進んだところでビルドエラーが発生llvm-3.3.src\tools\clang\lib\Basic\FileManager.cpp:317:73: err or: no matching function for call to 'clang::FileManager::getStatValue(const cha r*&, _stat64i32&, bool, int)' if (getStatValue(InterndDirName, StatBuf, false, 0/*directory lookup*/)) {検索したところ以下のサイトがヒットしました。
http://comments.gmane.org/gmane.comp.compilers.clang.devel/32242
そこから以下のサイトを参考にしたら解決したとのことなので、私も参考にしました。
https://github.com/KhronosGroup/webcl-validator#building-with-windows-mingw--msys
これによると、64bit 版の MinGW を使えってことのようです。
早速、MinGW 64bit 版をダウンロード、セットアップし、同様にビルドしました。
MinGW 64bit 版のセットアップはこちらを参考にしました。 PENGUINITIS - MinGW 64 bit 版 のセットアップ
ビルド(MinGW 64bit)
MinGW 64bit 版をセットアップし、 cmake からやり直しました。(make.exe がなかったので mingw32-make.exe をコピー・リネームしました。)
これで無事ビルド完了。
最後に make install をします。
CMAKE_INSTALL_PREFIX で指定したパスにインストールされます。
Visual Studio でビルド
そもそもの目的が libclang 使ったツールを作ることだったので、Visual Studio でビルドしました。LLVM と clang のソースを取得するとこまでは一緒で、cmake するときの -G オプションを "Visual Studio 10" にします。
cmake が無事に終わると Visual Studio のプロジェクト/ソリューションが出来上がるので、それを Visual Studio で開いてビルドするだけです。
特に問題なくビルドできました。
これで libclang が使えます。
Clang for Windows
先日リリースされた Clang for Windows には libclang が付いているので、libclang が使いたいだけならこれをインストールするだけで OK でした。。。まぁ、ともあれ。
libclang のことは知らないことだらけなので、これから少しずつやっていこうかと思います。
0 件のコメント:
コメントを投稿