转自:http://blog.csdn.net/runningman2012/article/details/54692010
系统Win10 64位,vs2015
1.
git 下载depot_tools,git clone https://chromium.googlesource.com/chromium/tools/depot_tools
注意:此过程需要设置代理,git代理,还需要在cmd中设置代理。
a. git config --global http.proxy "127.0.0.1:8888" b. cmd里,set http_proxy 127.0.0.1:8888
2.
设置环境变量,在path里添加depot_tools路径。
设置好后,用gclient命令安装一些工具。
之后,命令:fetch v8,可能由于网络原因会报错,没关系,再按照提示运行gclient sync, 此处还会报错,还是网络问题,也许是我的代理不好,多试几次。V8文件夹很大,总共一个1个多G。
如果提示错误,下载不了的话,需要根据提示,自己手动下载缺少的文件,放到v8目录下third_party或tools里面。用git下载,到这里:https://dev.chromium.org/developers/how-tos/install-depot-tools找缺少的东西(别忘使用代理)。 这两个目录里的东西一定要补全,否则后面会保错。
gclient sync 同步完成后,如果不是vs2013,是vs2015,gclient sync最后还会报错,需要在cmd里做如下设置:
set DEPOT_TOOLS_WIN_TOOLCHAIN=0 和 set GYP_MSVS_VERSION=2015 (最新的版本好像只支持vs2013和vs2015)
然后再按照官方的步骤,设置 set GYP_GENERATORS=ninja
3 .
最后生成v8.sln和all.sln文件,用以下命令:
python gypfilesgyp_v8.py -Dtarget_arch=ia32 -f msvs 或
python gypfilesgyp_v8.py -Dtarget_arch=x64 -f msvs
动态链接库的话:
python gypfilesgyp_v8.py -Dtarget_arch=ia32 -Dcomponent=shared_library -f msv或
python gypfilesgyp_v8.py -Dtarget_arch=x64 -Dcomponent=shared_library -f msv
这个过程很快。
这里的python我装的是2.7.6(不是depot_tools里面的python)但是版本和depot_tools里的一样,我试过用depot_tools里的python生成sln,但是保错,不知道为什么。如果要装的是python 3.5的话可能会有问题,没有试。
一切顺利的话,在v8/src 下生成v8.sln, 在v8/gypfiles里生成all.sln
4.
最后用vs2015打开v8.sln, 编译release, win32。
注意有几处错误,code_stub_assembler.h, pattern_rewriter.cc这两个文件好像是编码格式有问题,需要保存为unicode 1200格式。文件->高级保存选项。
此外,还有一处报 >>右移操作错误,需要在报错的文件里#pragma disable掉。
再编译就没有问题里。
在v8/build文件夹里,生成Release,lib目录里一共是12个lib文件。
这里倒是没有大的错误,只是有一些警告,但是都会当成错误来处理。
x64有一些问题,是size_t to int的,看着很乱,不知道怎么弄,暂时不管了。