Windows上で.NET CoreのCoreCLRをビルドしてみた

Windows上で.NET CoreのCoreCLRをビルドしてみた。

Windows以外でUbuntu上などでビルドするのは難しくないようだ。
連載:「○○してみた」日記:CoreCLRをビルドしてみた
コンパイラのclangとCMakeというビルドツールがあればすんなりビルドできるようだ。
(ただし、mscorlib.dllが生成できないみたいだが)

Windows上でビルドするのを試してみた。
公式だと英語の情報だけど、以下のドキュメントに方法が書いてある。
Build CoreCLR on Windows
Visual Studio 2015と、CMake、Python、Git、Powershell 3.0以上、が必要だと書いてある。
(あと、testをビルドするには、DotNet Core SDKも必要とある)

自分の場合、
・Visual Studio 2015
・CMake 3.7.1
・Python 2.7.9
・git 2.7.1
・PowerShell 2.0 (Windows7に最初から入っていた物?)
を使った。
環境変数PATHを書き換えて、cmd.exeやPowershellで上記のものをコマンドラインで使えるようにしておく。

ソースコードはgithubから持ってくる。
https://github.com/dotnet/coreclr

ディレクトリが複数に分かれているが、一番上の階層で作業する。
build.cmdというPowershell用のスクリプトがあるので、Powershellで起動する。

.\build

あとは、自動でビルドされた。だいぶ時間が掛かった。
特に統合環境のコンパイラは立ち上げたりしなくて、コマンドラインでコンパイラが動作したようだ。

ビルドされた生成物は、binというディレクトリの中のproductというディレクトリ内にある。
64bit版のWindows7で実行したからなのか、64bitの実行ファイルが生成された。
32bit版のWindows7では生成された実行ファイルは当然だけど動かなかった。
(追記 – build.cmdの中の生成するバイナリを定義している部分 X64 を X86 に一箇所書き換えることで32bit版のバイナリを生成することができた)


ilasm.exeの実行ファイルのみが欲しかったのだけど、結局全体をビルドした。

最初は、ソースコードのsrcディレクトリ内のilasmとildasmディレクトリのみを取り出して、ビルドしようと試みたのだがうまくいかなかった。
参照されているライブラリやヘッダファイルなどもコピーしてみたが、どうもうまくいかない。
CMake用のファイル「CMakeLists.txt」を参考に自前でMakefileを書いたりしてみたが、これも駄目だった。




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

4 + = 10