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. phpStudy环境下composer的安装

    前言 原来是做php开发的,现在转行前端工程师,因为很久没有接触了,可能会有其他问题,这里简单记录一下,后期遇到什么问题再进行更新~ 话说下载特别慢所以这里给个网盘链接Composer-Setup.e ...

  2. 自动生成SSM框架

    使用idea 新创建项目 然后 新创建 java .resources 文件夹...... 图上是项目结构 java文件夹下的 文件夹 命名规范 com.nf147(组织名)+ oukele(作者) ...

  3. MQTT 入门介绍——菜鸟教程

    一.简述 MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级& ...

  4. git diff 以及解决代码冲突

    我是使用一台电脑测试, 然后在本地电脑创建了两个工作目录.专门用来模拟两个人提交代码.假设a.b两个人.只使用一个master分支做测试, 没有建立其他的分支. 主要就是为了研究冲突的解决方式.感觉g ...

  5. App自动化测试介绍

  6. mysql explain 执行计划详解

    1).id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它来进行查询.   2).select_type列常见的有: A:simple ...

  7. 中国剩余定理及其拓展 CRT&EXGCD

    中国剩余定理,又叫孙子定理. 作为一个梗广为流传.其实它的学名叫中国单身狗定理. 中国剩余定理 中国剩余定理是来干什么用的呢? 其实就是用来解同余方程组的.那么什么又是同余方程组呢. 顾名思义就是n个 ...

  8. codevs 1094 FBI树 2004年NOIP全国联赛普及组 x

                         题目描述 Description 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. ...

  9. Comet OJ - Contest #3 D 可爱的菜菜子 线段树+线性基

    题意 给你一个长度为 \(n\) 的整数序列 \(a_1, a_2, \ldots, a_n\),你需要实现以下两种操作,每个操作都可以用四个整数 \(opt\ l\ r\ v\) 来表示: \(op ...

  10. Python中很少见的用法

    print(*range(10)) # 自动解开可迭代的对象