首先要知道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. mysql,多对多的hibernate操作对应的jdbc操作

    在hibernate中oo思想操作数据库,很方便,但是需要了解一下底层的jdbcsql是怎么写的,复习 多对多的表关系,取出,id为1的学生 订阅了哪些课程? mysql> select c_n ...

  2. jQuery事件绑定方式(转)

    bind() 简要描述 bind()向匹配元素添加一个或多个事件处理器. 使用方式 $(selector).bind(event,data,function) event:必需项:添加到元素的一个或多 ...

  3. AIX系统管理员--第一章笔记

    IBM产品系列 x系类为PC服务器-- e-server x        x表示x-architecture        可自由选择运行环境,windows.linux.unix等    p系类为 ...

  4. 【转】XCode环境变量及路径设置 -- 待学习

    原文网址:http://www.cnblogs.com/oc-bowen/p/5140541.html 一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自 ...

  5. DataTable反向模糊匹配查找语法

    正向写法: string filter = "code like '%"+sheetname+"%'"; filter值为: code like '%表F.3_ ...

  6. -Xbootclasspath参数、java -jar参数运行应用时classpath的设置方法

    当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误.实际上 ...

  7. delphi7如何实现 科学计数的转换。 比如我输入2,触发之后会转换成2.000000E+00.求赐教

    uses SysUtils; function StrToExp(s: string): string;var f: Extended;begin f := StrToFloat(s); Result ...

  8. collect my database for test KCF tracker tools

    Path Button used to set dir where avi file saves, set path set video size and start record write to ...

  9. 虚幻4以及DX12将允许开发者利用Xbox One的更多性能(转)

    GamingBolt 最近采访了 Epic Games 的总经理 Ray Davis,讨论了有关旗下虚幻引擎(Unreal Engine)的议题.在这次的访谈中,Ray 解释了关于使用 DirectX ...

  10. offer--链表反转和从尾到头打印链表

    这个是高频的面试题,今天总结了一些.反转链表用三个指针实现,返回新链表的头节点:而从尾到头打印,应用栈实现,返回vector整个链表. //题目描述 // //输入一个链表,反转链表后,输出链表的所有 ...