转自: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:

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的,看着很乱,不知道怎么弄,暂时不管了。

vs2015 编译google v8的更多相关文章

  1. Windows下 VS2015编译levelDB(nmake)

    VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中.如果有简单的key-value数据库需求,而又想使用一个数据库服务的话,levelDB ...

  2. 使用vs2015编译、部署ssd-caffe(weiliu89版,CPU模式)

    前因项目所需,须训练一个快速模型以实现目标物体的实时检测.历经多次实践,发现MobileNetSSD网络符合要求,故在本人工作PC上部署weiliu89版本的ssd-caffe以期用之训练项目要求之模 ...

  3. Google V8 引擎 原理详解

    V8 引擎概览 V8 引擎简介 Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流 操作系统中,甚至可以运行在移动终端 ( 基于 ARM ...

  4. caffe搭建--caffe- win10 vs2015 编译(支持GPU)--注意在cmake的时候需要根据情况仔细修改配置

    --http://blog.csdn.net/longji/article/details/60964998 注意: 在cmake的时候需要根据情况仔细修改配置,比如,如果gpu的能力不足3.0的话, ...

  5. grpc vs2015编译

    获取gRPC源码 gRPC是开源框架,项目代码在github上,所以首先要安装github.github安装后,在指定文件夹中,执行git命令就可以获取gRPC的所有源码. git clone  ht ...

  6. vs2015编译使用GRPC

    1.获取源码:位于github上 电脑装有git的直接克隆,未装git下载压缩包也可以 git clone  https://github.com/grpc/grpc.git cd grpc git ...

  7. Hadoop 3.2.1 win10 64位系统 vs2015 编译

    Hadoop 3.2.1 win10 64位系统 vs2015 编译 1        环境配置 1.1   JDK下载安装 1.1.1         下载 JDK 1.8    (jdk1.8.0 ...

  8. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  9. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

随机推荐

  1. Creating Modules

    转自官方文档,主要说明如何创建模块 https://www.terraform.io/docs/modules/index.html A module is a container for multi ...

  2. How to scale Complex Event Processing (CEP)/ Streaming SQL Systems?

    转自:https://iwringer.wordpress.com/2012/05/18/how-to-scale-complex-event-processing-cep-systems/ What ...

  3. 记一次服务器路由跟踪 (2019-01-23 TODO)

    记一次服务器路由跟踪 有用户反馈网站 无法访问. 现象如下: ping 没有反馈,确认了可以 ping 通其它的网站. tracert 跟踪到服务器商的内部就没的反应了. 同样一家的服务器商,另外一台 ...

  4. GoJS v1.8.12 去掉水印

    找到这段代码, 特征:1. 含有字符串:'7eba17a4ca3b1a8346','78a118b7':2. 也可能不为aw,根据具体情况来操作. a.aw=d[D.Wg("7eba17a4 ...

  5. 使用.pth文件扩展python环境路径

    使用.pth文件扩展python环境路径 有时候我们不希望把一个库放到 site-packages 下面,而是更愿意把它保留在原始的工程目录中,方便管理和维护.那么怎么能让 Python 运行环境找到 ...

  6. ML: 聚类算法R包-K中心点聚类

    K-medodis与K-means比较相似,但是K-medoids和K-means是有区别的,不一样的地方在于中心点的选取,在K-means中,我们将中心点取为当前cluster中所有数据点的平均值, ...

  7. Vivado中ILA的使用

    Vivado中ILA的使用 1.编写RTL代码      其中需要说明的是(* keep = "TRUE" *)语句的意识是保持cnt信号不被综合掉,方便以后的调试,是否可以理解为 ...

  8. awk 文本处理工具

    awk: 强大的文本处理工具,擅长对日志文件进行分析: 不仅用于Linux,也是任何环境中现在的功能最强大的数据处理引擎: 语法说明: awk '{pattern + action}' {filena ...

  9. Variant <-->Record Variant <-->Stream

    //     TARec   --->   Variantfunction RecordToVariant(value:TParamRecord):OleVariant;var P:Pointe ...

  10. 【巷子】---flux---【react】

    一.什么是Flux Flux 是一种架构思想,专门解决软件的结构问题.它跟MVC 架构是同一类东西,但是更加简单和清晰. 二.flux的基本概念 (1) .Flux由4部分组成 1.View:视图层 ...