首先要知道SpiderMonkey是个什么玩意 详细的可以看看这里(当然,如果你有google翻译的话看起来也一样费劲,你可以在语言那里选择中文。看完了再转回英文~因为中文有很多文档都没有的,比如:BUILD文档~):

https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey

好吧,看完之后大概知道这就是个让C植入的JS引擎,也用于FF(让我想起了最终幻想和超时空要塞~嘛 看不懂的码农这几年的地白耕了~)浏览器。好的~ 让我们开始吧~

在开始之前,如果想自己挑战一下的话可以参考这两个地方:

https://developer.mozilla.org/en-US/docs/Developer_Guide/Build_Instructions/Linux_Prerequisites (BUILD前准备,Linux~)

https://developer.mozilla.org/en-US/docs/SpiderMonkey/Build_Documentation (BUILD文档)

https://developer.mozilla.org/en-US/docs/SpiderMonkey/Setting_up_CDT_to_work_on_SpiderMonkey (加入到CDT环境中,就是Eclipse啦~)

首先呢,要在上面的连接内找到源码下载的传送门,然后,下载~

然后去Eclipse官网 下载 “Eclipse IDE for C/C++ Developers” 这个:

http://www.eclipse.org/downloads/

然后把下载下来的两个东西都解压了,那个 我们这里的是Fedora的系统哦~ 其实其他Linux都一样的拉~ 大概~

然后然后看那个build前准备的连接,找到RedHat那里(那个,可能玩开Linux的都知道,我就罗索一下~Fedora其实是RedHat分离出的一个开源项目,听说很多新尝试都会先用在Fedora上~写这篇文章的时候 Fedora已经是第19个版本了~)。其实就是在终端输入以下命令:

sudo yum groupinstall 'Development Tools' 'Development Libraries' 'GNOME Software Development'
sudo yum install mercurial autoconf213 glibc-static libstdc++-static yasm wireless-tools-devel mesa-libGL-devel alsa-lib-devel libXt-devel gstreamer-devel gstreamer-plugins-base-devel
# 'Development tools' is defunct in Fedora use the following
sudo yum groupinstall 'C Development Tools and Libraries'

然后呢,就是各种漫长的等待~(可以去LYF DYP什么的~ (= _, =) )

然后就是编译了~那个就按照文档上面说的去做就好,看文档这部分(Advanced build)

#那个#就是终端的注释符
#但是如果把这个也复制进去的话产生什么不良后果在下不承担的哦~
#开始吧~ 首先是打开源码包下js/src
cd js/src
#这个目测是自动配置?不知道是什么,没研究过C,反正执行后也没什么反馈~
autoconf-2.13

#-------Release BUILD--------
#这个是在当前目录下新建一个文件夹用于存放BUILD出来的东西~
mkdir build-release
#进入这个文件夹
cd build-release
#在这个文件夹内生成MakeFile
../configure
#这个~~就是开始编译啦~~
make
cd ..

#------Debug Build------
mkdir build-debug
cd build-debug
../configure --enable-debug --disable-optimize
make

又是一个漫长的等待~然后会看见好多的警告什么的,但是在Build-release和build-debug的文件夹内有东西了~好的,现在已经成功了一半了~

在这里说下release版和debug版的区别,release就是用于发布的,debug是用于debug的,完毕。

好了,该说下怎么融入到Eclipse了,如果喜欢终端的高手们可以绕路了~但是能用终端编译的估计也不会看到这里了~

好的,首先呢解压刚才的Eclipse安装包~是的 解压完了就是安装完了~~ (我擦 从头到脚都是绿油油的绿色软件啊~ Windows脸都红了~ 叫我这个忠实的Win使用者情何以堪,这打击就像当年刚认识毛片的时候一样沉重啊~~)

以下内容参考了那个CDT的文档

好的,然后就双击那个一直在叫 “打开我,打开我” 的图标 然后她会叫你选Workplace 好的 我随便选了一个 然后就是把引擎放到里面去了~ 呵呵~~

File > New > Makefile Project with Existing Code

Name 的话随便一个就好~ Browser… 里面把路径选中到 js/src 这里,下面那个框框选Linux自带的编译器就好了~ 然后Finish~

现在你就把引擎插进Eclipse了~ 但是呢~~ 好的 是放进~~ 但是呢 ~~ 好吧。。。我承认文字有一定误导色彩~

好的。。但是呢 Eclipse默认是Build在工作目录下的但是由于工作目录不是我们刚才build的 我们刚才是体内build的(当然也可以体外build啦~)所以还得选择回刚才我们build的地方~

右健Project Explorer的根结点选择Properties 然后在单击C/C++ Build那里 在右边的面板看到Build Location。然后单击File Sysem...选中刚才编译出来的两个文件夹的其中一个~就是Re和De的一个~ (在这里要说明一下的, 这个location里面必须要有MakeFile的 否则是不能通过Eclipse来编译的~~)

然后在Behaviour里面找到Build 把右边输入框中的all删了就行了~

文档上还需要做很多改动~ 但是实践下来,把上面的改了就OK了~

然后自己build一下会发现n多错误~没关系 貌似是没关联上而已~ 这个时候 你只要run一下~ 发现其实还是能跑的通的~~ 好神奇哦~ 不明觉历啊~~

然后说说体外的事情~ 其实刚开始我是把Build build到体外的~ 就是项目外~ 但是发现用Eclipse来Run Run不了(报了一个错误,大概就是找不到方法什么的)~ 然后我把build出来的东西加到Eclipse里面就行了~

然后思考了一下~ 参照回VS的build都是体内的~ 这个 我突然就释然了~ 好吧 体内就体内吧~

然后呢 这个总算是在Linux上编译成功了一个东西~ 感觉很不错~ 国庆就没了~ 公司奇葩的放假让我跟我的小伙伴不能一起玩~ 29 30 12345~ 这。。。所以也就拿这个打发打发时间~

好的 往后再看看这个引擎怎么玩的 写段demo出来 大概就完事了~ 7天 除了打机看片 看片打机(呵呵 说的是三个事情~) 总算是做了件有意义的事情~

好吧 有点色色的感觉~ 反正也不封面 爱转就转呗~

---- write by 博客园 godssl. Welcome to visit my blog~

说下Fedora下把SpiderMonkey放入Eclipse内编译的过程的更多相关文章

  1. Eclipse 反编译之 JadClipse

    一:下载对应的 net.sf.jadclipse_x.x.x.jar ,把该jar包放入到Eclipse中的 plugins 目录下,下载地址:https://sourceforge.net/proj ...

  2. 关于LLVM源码在Linux下编译的过程

    1. 最好在gitee上查找llvm的源码或者直接git clone https://gitee.com/uniquesquirrel/llvm-project.git,是和github上的llvm项 ...

  3. WebContent下新建目录放入jsp,跳转servlet页面出错解决

    为方便分类jsp文件,于是在web-content下新建了一级目录,将jsp文件放入其中,结果原本跳转的servlet出现404错误: 解决如下: 在用eclipse创建的servle会自动生成一个注 ...

  4. java通过文件路径读取该路径下的所有文件并将其放入list中

    java通过文件路径读取该路径下的所有文件并将其放入list中   java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...

  5. target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

    target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件

  6. 润乾V4报表放入WEBINF保护目录下如何实现

     润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...

  7. 如何将数据放入下拉框List值

    最近在做下拉框,里面放入值大概有这几种 //仓库业务类型 第一种 model.addAttribute("warehouseBizTypeList", basePropertySe ...

  8. 【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中

    http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切 ...

  9. 用MT.exe将exe中的manifest文件提取出来和将manifest文件放入exe中

     前一种方法是将manifest文件放入exe中,但是要记得需要在工程中设置 这样的话exe中就不存在manifest了,在debug目录下就会看到相应的manifest文件.后者是将exe中的man ...

随机推荐

  1. erl_0013 erlang 带参数模块 parameterized modules are no longer supported

    code: -module(mod_test, [Name]). -export([show/0]). show() -> io:format("show:~p~n",[Na ...

  2. exp/imp使用

    [sql]view plaincopy 1.EXP: 1.完全: EXP  SYSTEM/MANAGER   BUFFER=64000  FILE=C:\FULL.DMP  FULL=Y 如果要执行完 ...

  3. sort方法的使用、随机数的产生

    如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序. var arr = ['a','b','m','c','d']; arr.sort(); ...

  4. myeclipse 8.5最新注册码(过期时间到2016年)

    myeclipse 8.5最新注册码(过期时间到2016年) 这几天myeclipse弹出注册码过期,去网上一搜,要么已过期,要么就剩一两个月.倒腾了半天,自己申请了几个注册码,给大家分享一下 Sub ...

  5. php 采用fpdf乱码问题

    步骤1.首先下载fpdf http://www.fpdf.org/en/download.php(本人用的是1.7版本) 步骤2.下载中文包 http://www.fpdf.org/download/ ...

  6. linux下valgrind的使用概述

    Valgrind简介: Valgrind是动态分析工具的框架.有很多Valgrind工具可以自动的检测许多内存管理和多进程/线程的bugs,在细节上剖析你的程序.你也可以利用Valgrind框架来实现 ...

  7. [转] C# TextBox、DataGrideView中的数据绑定

    Xavierr 原文 C#数据绑定——简单的文本框绑定.DataGridView 一.TextBox的数据绑定 经常写用一个TextBox显示某个对象,然后编辑之后再保存的程序.以前都是在TextBo ...

  8. C#拼音转换,将简体中文转换成拼音

    1. 要进行拼音转换操作,首先要引入几个文件,也就是用于操作拼音转换的文件,就是微软提供给开发者的一个类库 Microsoft Visual Studio International Pack 1.0 ...

  9. 14个最受欢迎的Python开源框架

    本文从GitHub中整理出的14个最受欢迎的Python开源框架.这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等. Django: Python Web应用开发框架 Dja ...

  10. Windows Live Writer安装与使用

    无耻的转贴一份WLW的安转与使用指南 =========================转贴分隔线===========================   [Windows Live Writer安 ...