ubuntu环境下进行

  参考文档: http://code.google.com/p/v8/wiki/BuildingWithGYP

(一) 源码下载及编译

  1, Google v8 官网:http://code.google.com/p/v8/

  2, 代码下载 v8 svn地址为:http://v8.googlecode.com/svn/trunk/   

    svn checkout http://v8.googlecode.com/svn/trunk/ v8

     当然git 也可以

  3,编译v8的前提条件:需要安装下载安装gyp .

    安装依赖:

    cd v8
    make builddeps

  4, 编译 使用makefile 编译.

    make native library=shared

    至此就可以编译出V8 动态库.

(二)其他的一些编译选项

   1,编译 pc release 版

      make ia32.release

   2,自动编译本机平台release版,如本机是ia32 ,它就会自动编译ia32 版本.

      make native

   3,编译v8 所支持的所有的平台版本,相当

      make release 或者 make

   4,常用编译选项

    -j 8 开启8 个线程编译

    OUTDIR=foo 指定target 生成的路径

    library=shared 编译生成动态库

    snapshot=off 禁止建设有一个堆快照。编译会快一点,但V8引擎的启动会稍微慢一些。

  

(三) 编译过程中可能会出现的错误

yanhd@yanhd-Lenovo:~/opensource/v8$ make native  library=shared snapshot=on
PYTHONPATH="/home/yanhd/opensource/v8/tools/generate_shim_headers:/home/yanhd/opensource/v8/build::/home/yanhd/opensource/v8/build/gyp/pylib:" \
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="out" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S.native -Dcomponent=shared_library -Dv8_enable_backtrace=1 -Darm_fpu=default -Darm_float_abi=default
File "build/gyp/gyp_main.py", line 12
except ImportError, e:
^
SyntaxError: invalid syntax
make: *** [out/Makefile.native] 错误 1
yanhd@yanhd-Lenovo:~/opensource/v8$

    出现以上错误,是由于python 版本问题导致. 使用python2.6 ,python2.7 会ok.

    我本机上当前python 版本是3.4 ,2.7版本的也有 所以我给降个级.

  解决方法:

    1,先把原来的高版本链接删掉

      cd /usr/bin/
      ls -al python*
      rm python

    2, 重新链接低版本

     ln -s /usr/bin/python2.7 /usr/bin/python

v8 google 下载及编译的更多相关文章

  1. Mac下载并编译Google安卓AOSP项目代码

    Mac下载并编译Google安卓AOSP项目代码 参考 https://source.android.com/source/index.html 这两天用Mac下载安卓AOSP源码,且把遇到的问题记下 ...

  2. 深入浅出-Android系统移植与平台开发(一)- Android4.0系统的下载与编译

    作者:唐老师,华清远见嵌入式学院讲师. 一.Android4.0系统的下载与编译 Android系统的下载与编译,Google的官方网站上已经给出了详细的说明,请参照Android的官方网址: htt ...

  3. Ubuntu10.04下载并编译Android4.3源代码

    注:转载或引用请标明出处    http://blog.csdn.net/luzhenrong45/article/details/9719433 去年用Ubuntu10.10成功下载并编译Andro ...

  4. 【转】Android 4.3源码的下载和编译环境的安装及编译

    原文网址:http://jingyan.baidu.com/article/c85b7a641200e0003bac95a3.html  告诉windows用户一个不好的消息,windows环境下没法 ...

  5. 【转】在Ubuntu上下载、编译和安装Android最新源代码

    原文网址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Linux Kernel和Android有一定 ...

  6. 在Ubuntu上下载、编译和安装Android最新源码

    看完了前面说的几本书之后,对Linux Kernel和Android有一定的认识了,是不是心里蠢蠢欲动,想小试牛刀自己编译一把Android源码了呢?一直习惯使用Windows系统,而Android源 ...

  7. 在Ubuntu上下载、编译和安装Android最新源代码

    文章转载至CSDN社区罗升阳的安卓之旅,原文地址:http://blog.csdn.net/luoshengyang/article/details/6559955 看完了前面说的几本书之后,对Lin ...

  8. mac os 平台下载并编译android2.3.3源码

    现在在做有关android平台下的项目,最初对android环境各种不熟悉,搞了几个月终于有点眉目了,由于需要用到android本身提供的一些类似gps,tts等服务,单纯的看android提供的ja ...

  9. android源码下载以及编译自己的ROM

    android源码下载以及编译自己的ROM 最近发现kernel.org被墙了,为什么这种网站也能被墙了? 要想下载源码的话,只能绕过去了.下面是我从网上搜索到的一些下载方法: =========== ...

随机推荐

  1. [旧版] CASthesis 模板编译的问题

    写在前面的话:国科大最新版的模板在这里(https://github.com/mohuangrui/ucasthesis),利用它来写博后出站报告的相关介绍在这里: 本篇博文是针对另一个模板进行介绍的 ...

  2. 《深入理解java虚拟机》——读后笔记(一)(内存部分)

    一.内存区域的划分(运行时数据区域) ①程序计数器:程序计数器是一块较小的内存区域,字节码解释器通过改变此计数器的值来选取下一条要执行的字节码指令,可以看成是当前线程执行字节码的行号指示器.线程执行时 ...

  3. ZAP-Queries【luogu3455】

    题目大意 有不超过\(50000\)个询问,每次询问有多少正整数对\(x\),\(y\),满足\(x\leqslant a\),\(y \leqslant b\),并且\(gcd(x,y)=c\).其 ...

  4. Java集合框架之简述

    Java集合框架简述 Java中的集合类是一种工具类,就像是容器,存储任意数量的具有共同属性的对象,集合框架是一个用来代表和操纵集合的统一架构,包含如下部分: 1.接口: 接口是代表集合的抽象数据类型 ...

  5. [Deep Learning] GELU (Gaussian Error Linerar Units)

    (转载请注明出处哦~) 参考链接: 1. 误差函数的wiki百科:https://zh.wikipedia.org/wiki/%E8%AF%AF%E5%B7%AE%E5%87%BD%E6%95%B0 ...

  6. SQL语句中 NOT IN 子句的“正确打开方式”

    在写SQL语句的时候,若where条件是判断用户不在某个集合当中,我们习惯使用 where 列名 not in (集合) 子句,这种写法本身没有问题,但实践过程中却发现很多人在写类似的SQL语句时,写 ...

  7. Django 详解

    Django是一个开源的Web应用框架,由Python写成.采用MVC的软件设计模式,主要目标是使得开发复杂的.数据库驱动的网站变得简单.Django注重组件的重用性和“可插拔性”,敏捷开发和DRY法 ...

  8. python实例方法、静态方法和类方法

    Python中至少有三种比较常见的方法类型,即实例方法,类方法.静态方法.它们是如何定义的呢?如何调用的呢?它们又有何区别和作用呢?且看下文. 首先,这三种方法都定义在类中.下面我先简单说一下怎么定义 ...

  9. HearthBuddy的狂野和休闲模式来回切换

    表现1 配置是标准,休闲模式 然后一直重复提示 select desire deck select causal mode 表现2 配置是狂野,休闲模式 然后一直提示 切换到狂野 切换到标准 把模式切 ...

  10. koa 基础(四)get 传值 以及获取 get 传值

    1.get 传值 以及获取 get 传值 app.js /** * get 传值 以及获取 get 传值 */ // 引入模块 const Koa = require('koa'); const ro ...