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补 ...
随机推荐
- hive 分隔符替换
Hive建表的时候虽然可以指定字段分隔符,不过用insert overwrite local directory这种方式导出文件时,字段的分割符会被默认置为\001,一般都需要将字段分隔符转换为其它字 ...
- Centos7使用PXE+Kickstart无人值守安装服务
首先,关闭selinux和防火墙(二次修改版本) 我们需要安装的软件如下 dhcp(用来获取ip) tftp-server httpd syslinux(不安装这个后面会没有pxelinux.0这个文 ...
- 10 Rules of Highly Successful Project Management
I commited the information below to report PDU of PMI. ^_^. In this paper, the author introduces his ...
- C++ vs Objective C
oc Short list of some of the major differences: C++ allows multiple inheritance, Objective-C doesn't ...
- echarts x轴文字显示不全(xAxis文字倾斜比较全面的3种做法值得推荐)
出处:http://blog.csdn.net/kebi007/article/details/68488694
- 关于TF-IDF的解释
TF:term frequency ,词频 .指的是 term 出现的评率.词频和 2 个因数有关,在一个文档中出现这个词条次数越多,词频越高,文档总词条总数越多这个值被稀释. 所以 一般 TF = ...
- Linux基础入门之vsFTP+MySQL/MariaDB认证实现虚拟用户配置详解
https://www.dwhd.org/20150603_144841.html 摘要 VSFTP可以使用系统账户或者匿名账户登录,但是出于安全的考虑,通常建议使用vsftp虚拟账户来登录ftp服务 ...
- git push文件到远程github或者gitlab
Git global setup git config --global user.name "luozeng" git config --global user.email &q ...
- C# 集合、字典、栈和队列
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 排序算法<No.6>【插入排序】
算法,我在路上,将自己了解的算法内容全部梳理一遍! 今天介绍简单点的,插入排序. 首先,什么是插入排序,这个维基百科上有.个人的理解,就是将一个数插入到一个已经排好序的数列当中某个合适的位置,使得增加 ...