最新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. javascript 字符串与正则

    序:就是简单记录下正则的一些基础,还有cookie的一些设置获取删除 #字符串操作 search 查找 substring 获取子字符串 str.substring(start,stop) charA ...

  2. oracle入坑日记<三>用户详解(角色理解)

    1   用户是什么 1.1.权限管理是Oracle的精华,不同用户登录到同一数据库中,可能看到不同数量的表,拥有不同的权限.Oracle 的权限分为系统权限和数据对象权限,共一百多种.如果把Oracl ...

  3. python 给定数组任意组合等于一个定值的所有解

    抛出问题: 求给定数组任意组合等于一个定值的所有解 例如列表l = [1, 2, 3, 4, 5],求任意组合的结果为10的所有答案 问题分析: 实际就是列表的所有排列组合,然后算出每个排列组合的值, ...

  4. Vue.js中记不住 的东西

    给样式背景赋值: :style="{backgroundImage:'url(' + otherInfo.head_image + ')'}" <img :src=" ...

  5. HTTPS的内网访问和访问外网

    https://launchpad.support.sap.com/#/notes/2461900 https://wiki.scn.sap.com/wiki/display/Security/Tro ...

  6. Python——Django运行问题

    1.Python3.7+Django2.2操作Mysql数据库时出现如下错误:django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3. ...

  7. jsfl 删除库指定内容

    var bitMap=fl.getDocumentDOM().getTimeline().layers [layLen_num-1].frames[0].elements[0]; fl.trace(b ...

  8. 熟悉Junit单元测试方法

    定义: JUnit是一个Java语言的单元测试框架.它由Kent Beck和Erich Gamma建立,逐渐成为源于Kent Beck的sUnit的xUnit家族中最为成功的一个. JUnit有它自己 ...

  9. oracle 查看处理锁表

    --查出sid,serial#select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where ...

  10. 【Debug】逻辑分析仪数据错乱,看波形为信号耦合导致数据错乱,实际上为逻辑分析仪地线没接上!

    如图都有数据的时间段,数据错乱,实际为逻辑分析仪地线未接,接上就不会了.