VC++2010 ExpressでV8をビルドするお話
ちょっと所用でV8をWindowsでビルドすることになったんだけど、
2012年6月時点でweb上に書かれている方法でやっても上手くいきません。
んで、うまくいく方法を調査したので以下に書きます。
ここの方法そのままではうまくビルドできない
http://code.google.com/p/v8/wiki/BuildingWithGYP
前提
VCは2010 Expressです。
GYPってのを使います。
SConsはもうメンテナンスされていないため使いません。
必要なもの
- 自分はPython 2.7.3をインストールしました
- PATH通しておいてください
- ここに置いてあります。
※2012/07/15 追記 cygwinのインストール要りませんでした。vc以外でインストールが必要なのはpythonのみ(ただし供述のthird_party/cygwinのチェックアウトは必要です)
手順(概要)
cygwinいれる
pythonいれる
pythonパスを通す
必要なソースを落とす
(Unixっぽい記述でかいてますけど全部windows上の話です)
$ svn checkout http://v8.googlecode.com/svn/trunk/ v8 $ cd v8 $ mkdir -p build/gyp $ svn co http://gyp.googlecode.com/svn/trunk build/gyp $ mkdir -p third_party/cygwin $ svn co http://src.chromium.org/svn/trunk/deps/third_party/cygwin third_party/cygwin ※リビジョン 66844 でチェックアウトすること $ cp /tmp/vcxproj_include_path_replacer.py .
cygwinターミナル立ち上げて
※ cygwinのファイルシステム上から C:\等にアクセスしたい場合は/cygdrive以下にマウントされているので/cygdriveからパスを始める
$ cd /cygdrive/c/Users/bravewood/Desktop/v8 $ build/gyp_v8 $ python vcxproj_include_path_replacer.py > replace.log
build/all.sln をダブルクリックして開く
F7でソリューション全体をビルド
ビルド結果が
========== ビルド: 16 正常終了、0 失敗、0 更新不要、0 スキップ ==========
みたいにエラーなければOK
実行してみる
d8 (v8のシェル)を実行してみたい場合は
\build\Debug\d8.exe
を立ち上げる
V8 version 3.11.10.4 [console: dumb] d8> var i = 1 + 100; d8> print( i ); 101 d8>quit()
enjoy !