最新v8,只能在vs2015编译(在官网看了资料,新版本v8/chrome使用的c++11特性只能用vs2015编译)

vs2015 vc需要的dll有近50个,发布不太方便,所以采用vs2013update5编译

版本 发布日期  
5.8.301 2017.3.1  
5.7.514 2017.1.19  
5.6.331 2016.11.17 vs2013支持的最后版本
5.5.383 2016.10.6  
5.4.524 2016.8.25  
5.3.351  2016.6.30  
5.2.371 2016.5.19 winxp支持的最后版本,vs2013编译
5.1.300 2016.4.11  
5.0.104 2016.2.26  
4.10.253 2016.2.17  
4.9.391 2016.1.15  
4.8.294 2015.12.13  
4.7.84 2015.10.2  
4.6.88 2015.8.21  

为了避坑,采用5.6.331, 这是vs2013update5能支持的最后版本,再之后的需要c++11 full support,也就是vs2015了

=================不太华丽的分割线=================

1.下载gclient(可以安装到任意地方,和v8源代码无关)
git config --global http.proxy "127.0.0.1:1080"
git config --global https.proxy "127.0.0.1:1080"
set http_proxy=http://127.0.0.1:1080
set https_proxy=https://127.0.0.1:1080
cd D:\sdk
git clone https://chromium.googlesource.com/chromium/tools/depot_tools
把D:\sdk\depot_tools加到环境变量PATH中
(这里有现成的下载depot_tools.zip:https://www.chromium.org/developers/how-tos/install-depot-tools)

(我下载了一份最新的完整版,放到csdn了:http://download.csdn.net/detail/jinglexy/9791996)

2.更新gclient
重新开一个命令行窗口(需要管理员权限)
gclient
gclient --version
这个指令运行必须运行正常,否则后面的无意义

3.安装python-2.7.13(加入PATH环境变量),注意这个不是depot_tools里面的python
注意:命令行运行where python必须指向c:\python27,如果是depot_tools会出错
where python
python -m pip install -U pip setuptools
git clone https://github.com/svn2github/gyp && cd gyp && python setup.py install

4.下载v8

下载:https://github.com/v8/v8/releases/tag/5.6.331,并解压
把脚本sync_3rd_5.6.331.bat拷贝到源码文件夹,并执行,会更新所有第三方依赖

脚本下载地址:https://github.com/wjx0912/CppBaseUtils

5.编译(where python确保指向C:\Python27\python.exe)

cd D:\sdk\2013\v8-5.6.331
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2013
python gypfiles\gyp_v8.py -Dtarget_arch=ia32 -f msvs -Dcomponent=shared_library

用vs2013打开src/v8.sln,修改项目属性v8_base_0, v8_base_1, v8_base_2, v8_base_3:

项目->属性->C++: 将警告视为错误,改为否,然后开始编译win32的debug/release,

属性表请参考github项目 :https://github.com/wjx0912/CppBaseUtils

github项目 :https://github.com/wjx0912/CppBaseUtils

一份已经编译好h/lib/dll的放到csdn了:

http://download.csdn.net/detail/jinglexy/9793531

http://download.csdn.net/detail/jinglexy/9793533

vs2013 v8编译的更多相关文章

  1. VS2013中编译openssl的步骤和使用设置

    一.VS2013中编译openssl的步骤 版本号:openssl-1.0.1e 1.下载 OpenSSL http://www.openssl.org/,并解压到d:\openssl-1.0.1e目 ...

  2. 多媒体开发之--- live555 vs2010/vs2013下编译,使用,测试

    Ⅰ live555简介 Live555 是一个为流媒体提供解决方案的跨平台的C++开源项目,它实现了对标准流媒体传输协议如RTP/RTCP.RTSP.SIP等的支持.Live555实现了对多种音视频编 ...

  3. vs2013提高编译速度

    最近做新的项目,很多库是之前项目积累下来的库.在windows下使用的IDE是vs2013,整体编译的时候,明显感觉编译速度较慢,文件是一个一个编的. 从编译器本身的角度,vs2013是提供了加快编译 ...

  4. Win7 64位 VS2013环境编译Squirrel 3.0.7

    Squirrel是一个类似Lua,但是更面向对象的脚本语言. 国内这个介绍很少,环境配置更是没有任何文章提到,花了点时间搞定了,备忘记录下过程. 首先是下载,写本文时Squirrel最新版本为3.0. ...

  5. Win7 64位 VS2013环境编译Lua5.3.1

    主要参考这篇文章,原文有几个错误顺便改正了. 在Windows下使用Visual Studio编译Lua5.3 写本文时Lua官方网站放出的新版本为5.3.1,然后我不知道为啥,神奇的国内不能访问Lu ...

  6. Win7 64位 VS2013环境编译boost1_58_0

    备忘,发现好多不常用的东西不记笔记再想用要重新花时间找,所以试着开始记笔记,写入博客吧. 首先去官网下最新的版本 http://www.boost.org/ 写本文时boost最新版本为1_58_0, ...

  7. C++ 升级到 Vs2013后编译设置

    编译 EasyDarwin 时,Vs2008的C++升级到 Vs2013时报错: 1. 找不到 windows.h 项目->属性->配置属性->C/C++->所有选项: 附加包 ...

  8. 记VS2013并行编译导致出错的解决过程

    接前一篇,电脑换了新的,系统是64bit的win8系统,先安装了SQLServer2012,再安装VS2010旗舰版,Stop!为什么还是2010?因为2010太经典了,以至于公司的项目还在用它写项目 ...

  9. LevelDB windows vs2013 c++编译和测试

    引用: (src1) :http://download.csdn.net/detail/flyfish1986/8881263(这里有下载地址) (src2) :http://blog.csdn.ne ...

随机推荐

  1. 关于Python课程的一些思考。

    出于对网络爬虫的好奇,我选修了Python程序设计,至于pyhton还能干啥还不太清除,只觉得爬一些数据很有意思,所以希望老师讲一些数据分析之类的技术.学完课程希望能分析一些数据,比如:还有: 上课的 ...

  2. C# Global定时执行Global文件aTimer处理

    public class Global : System.Web.HttpApplication { private static event Action eventActions; /// < ...

  3. Spring声明式事务的隔离级别和传播机制

    声明式事务 在Spring中,声明式事务是用事务参数来定义的.一个事务参数就是对事务策略应该如何应用到某个方法的一段描述,如下图所示一个事务参数共有5个方面组成: 传播行为 事务的第一个方面是传播行为 ...

  4. Spark的转化和行动(transformations和action)

    //********************** 装换操作 ********************* 1.def map[U: ClassTag](f: T => U): RDD[U]   将 ...

  5. centos nginx配置https

    1.获取https证书: 用的阿里的免费证书: 参考:https://blog.csdn.net/chandoudeyuyi/article/details/71246255 2.修改nginx配置文 ...

  6. 多线程服务端与客户端通信(IO是阻塞的)_02

    下面是多线程的;每次服务端接受请求,会创建一个线程专门处理这个请求: 虽然是多线程的,但还是阻塞,相当于单线程处理模式 public class TimeServer { public static ...

  7. 触摸事件,手势识别(UITouch,UIGestureRecognizer)

    触摸发生时,UIWindow会有一个队列来存放所有的触摸事件,然后再把这些事件发送给对应的hit-test view,hit-test view会通过touch的四个函数来接收这些事件. 四个函数分别 ...

  8. 批处理BAT运行不显示DOS窗口的方法

    新建记事本,写入下面内容 set ws=wscript.createobject("wscript.shell") ws.run "D:\scripts\svn-upda ...

  9. MPC学习笔记1:基于状态空间模型的预测控制(1)

    MPC调节器 1.给定一个由状态空间法描述的离散系统: MPC控制器与其他线性二次调节器(LQR)的区别就在于其可以很好的将系统动态约束纳入考虑. 采样周期Ts控制了算法的效率,太大会错过很多系统运行 ...

  10. elasticsearch增删查改

    创建结构化索引 put http://127.0.0.1:9200/person{ "settings" : { "number_of_shards": 3, ...