vs2015 编译google v8

来源:互联网 发布:网络布线怎么报价单 编辑:程序博客网 时间:2024/05/01 13:37

系统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 gypfiles\gyp_v8.py -Dtarget_arch=ia32 -f msvs 或
python gypfiles\gyp_v8.py -Dtarget_arch=x64 -f msvs


动态链接库的话:
python gypfiles\gyp_v8.py -Dtarget_arch=ia32 -Dcomponent=shared_library -f msv或
python gypfiles\gyp_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的,看着很乱,不知道怎么弄,暂时不管了。


0 0
原创粉丝点击