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. 什么是JWT?Token与Session的区别?

    什么是JWT Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点 ...

  2. for update的作用和用法

    一.for update定义 for update是一种行级锁,又叫排它锁,一旦用户对某个行施加了行级加锁,则该用户可以查询也可以更新被加锁的数据行,其它用户只能查询但不能更新被加锁的数据行.如果其它 ...

  3. Python入门-2编程基本概念:03引用的本质-栈内存和堆内存-内存示意图

    引用 在Python中,变量也称为:对象的引用.因为,变量存储的就是对象的地址. 变量通过地址引用了“对象”. 变量位于:栈内存(压栈出栈等细节,后续再介绍). 对象位于:堆内存. Python是动态 ...

  4. 开源的任务系统 TaskManager

    Quartz.NET是一个开源的作业调度框架,是OpenSymphony 的 Quartz API的.NET移植,它用C#写成,可用于winform和asp.net应用中.它提供了巨大的灵活性而不牺牲 ...

  5. 下载Americanlife 语音材料

    下载剧本 下载后会在给定目录生成多pdf文件,文件名为每一节的名称 #!/usr/bin/env python3.5 # -*- coding: utf-8 -*- # @Time : 2019/11 ...

  6. string str = File.ReadAllText(@"c:\temp\ascii.txt");

    string str = File.ReadAllText(@"c:\temp\ascii.txt");

  7. centos 7 php7 yum源

    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mir ...

  8. html基础(img、a、列表 )

    图片标签(img) <img src="图片路径" alt="图片描述 图片无法正常显示出现文字" title="爱你"/> i ...

  9. 使用Jmeter对观影券查询接口做性能测试

    线程数:虚拟用户数.一个虚拟用户占用一个进程或线程.设置多少虚拟用户数在这里也就是设置多少个线程数. 准备时长: 设置的虚拟用户数需要多长时间全部启动.如果线程数为20 ,准备时长为10 ,那么需要1 ...

  10. flask 第六篇 flask内置的session

    Flask中的Session非常的奇怪,他会将你的SessionID存放在客户端的Cookie中,使用起来也非常的奇怪 1. Flask 中 session 是需要 secret_key 的 from ...