vs2015 编译google v8
转自: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的更多相关文章
- Windows下 VS2015编译levelDB(nmake)
VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中.如果有简单的key-value数据库需求,而又想使用一个数据库服务的话,levelDB ...
- 使用vs2015编译、部署ssd-caffe(weiliu89版,CPU模式)
前因项目所需,须训练一个快速模型以实现目标物体的实时检测.历经多次实践,发现MobileNetSSD网络符合要求,故在本人工作PC上部署weiliu89版本的ssd-caffe以期用之训练项目要求之模 ...
- Google V8 引擎 原理详解
V8 引擎概览 V8 引擎简介 Google V8 引擎使用 C++ 代码编写,实现了 ECMAScript 规范的第五版,可以运行在所有的主流 操作系统中,甚至可以运行在移动终端 ( 基于 ARM ...
- caffe搭建--caffe- win10 vs2015 编译(支持GPU)--注意在cmake的时候需要根据情况仔细修改配置
--http://blog.csdn.net/longji/article/details/60964998 注意: 在cmake的时候需要根据情况仔细修改配置,比如,如果gpu的能力不足3.0的话, ...
- grpc vs2015编译
获取gRPC源码 gRPC是开源框架,项目代码在github上,所以首先要安装github.github安装后,在指定文件夹中,执行git命令就可以获取gRPC的所有源码. git clone ht ...
- vs2015编译使用GRPC
1.获取源码:位于github上 电脑装有git的直接克隆,未装git下载压缩包也可以 git clone https://github.com/grpc/grpc.git cd grpc git ...
- 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 ...
- VS2015编译boost1.62
VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
随机推荐
- python——psutil的使用(获取进程信息)
import psutil psutil.pids() [1, 2, 3, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28, 2 ...
- zabbix使用自定义key进行监控
我的zabbix-server是安装在另一台虚拟机上的,用来监控下图中的这台虚拟机 先修改zabbix的客户端配置文件,增加UserParameter那行,这里我只是用来测试,所以就随便起了一个名为p ...
- ethr 微软开源的tcp udp http 网络性能测试工具
ethr 是微软开源的tcp udp http 网络性能测试工具包包含的server 以及 client 我们可以远程测试 同时对于https icmp 的支持也在开发中,tcp 协议支持连接.带宽. ...
- java_架构与模式
框架有哪些?C++语言的QT.MFC.gtk,Java语言的SSH,php语言的 smarty(MVC模式),python语言的django(MTV模式)等等设计模式有哪些?工厂模式.适配器模式.策略 ...
- create a simple COM object
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArsAAAGYCAIAAADN0b3QAAAgAElEQVR4nO29749c1b2nW/4Lzh8wUr
- CentOS7.x 配置开机启动项目
Centos6.x 下版本主要通过service控制启动与关闭,通过chkconfig来设置开机启动项,但是Centos 7.x 版本采用已经Systemd来控制启动与关闭,Systemd 是 Lin ...
- Centos6.8 Mysql5.6 安装配置教程(转)
准备Mysql文件: 方式一:wget url(mysql下载地址); 方式二:从官网下载mysql,上传至centos(小编使用的Nodepad++的NppFTP具体做法请百度); 检查之前安装 ...
- RedHat6.5上安装Hadoop单机
版本号:RedHat6.5 JDK1.8 Hadoop2.7.3 hadoop 说明:从版本2开始加入了Yarn这个资源管理器,Yarn并不需要单独安装.只要在机器上安装了JDK就可以直接安 ...
- 阿里巴巴Java编码规范,来测测你能得多少分
今年年初,<阿里巴巴Java开发手册>正式发布,阿里官方Java代码规范标准首次对外公开.手册发布之后在业界.学术界都获得了广泛的关注,仅微博浏览量就突破千万,下载访问量超过40万,多家媒 ...
- 存储过程DT参数
public static void TableValuedToDB(DataTable dt, string storedProcName, string TypeName) { using (Sq ...