说下Fedora下把SpiderMonkey放入Eclipse内编译的过程
首先要知道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内编译的过程的更多相关文章
- Eclipse 反编译之 JadClipse
一:下载对应的 net.sf.jadclipse_x.x.x.jar ,把该jar包放入到Eclipse中的 plugins 目录下,下载地址:https://sourceforge.net/proj ...
- 关于LLVM源码在Linux下编译的过程
1. 最好在gitee上查找llvm的源码或者直接git clone https://gitee.com/uniquesquirrel/llvm-project.git,是和github上的llvm项 ...
- WebContent下新建目录放入jsp,跳转servlet页面出错解决
为方便分类jsp文件,于是在web-content下新建了一级目录,将jsp文件放入其中,结果原本跳转的servlet出现404错误: 解决如下: 在用eclipse创建的servle会自动生成一个注 ...
- java通过文件路径读取该路径下的所有文件并将其放入list中
java通过文件路径读取该路径下的所有文件并将其放入list中 java中可以通过递归的方式获取指定路径下的所有文件并将其放入List集合中.假设指定路径为path,目标集合为fileList,遍 ...
- target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件
target存放的是编译后的.class文件地方 默认情况下不会讲非class文件放入进入 如果要使用非.class文件 需要通过增加配置方式自动加入文件
- 润乾V4报表放入WEBINF保护目录下如何实现
润乾报表放入WEBINF保护目录下如何实现 WEB-INF下面的文件都是受保护的,客户为了保护项目的文件不受到非法的访问,jsp页面都放在WEB-INF下,那润乾报表放入WEB-INF保护目录下 ...
- 如何将数据放入下拉框List值
最近在做下拉框,里面放入值大概有这几种 //仓库业务类型 第一种 model.addAttribute("warehouseBizTypeList", basePropertySe ...
- 【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中
http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切 ...
- 用MT.exe将exe中的manifest文件提取出来和将manifest文件放入exe中
前一种方法是将manifest文件放入exe中,但是要记得需要在工程中设置 这样的话exe中就不存在manifest了,在debug目录下就会看到相应的manifest文件.后者是将exe中的man ...
随机推荐
- 【转】Xcode6 模拟器路径
原文网址:http://www.cocoachina.com/bbs/read.php?tid-231024.html Xcode6发布后,出现了很多的变动,功能性的变动,在这里不进行过多的赘述,在W ...
- nginx的配置,要求根据不同的来路域名,发送到不同的端口去处理
这一台电脑上既有tomcat 也有 apache,他俩是没有办法同时享用80端口的.我现在让tomcat用8088,apache用8080,然后让nginx用80,这样nginx在收到请求后,根据不同 ...
- myeclipse 打开xml jsp页面慢 有时候会自动退出
Myeclipse默认打开文件的方式是 jsp design,每次双击或者使用Ctrl+Shift+R打开 就会用这个打开 ,太慢了而且多次导致Myeclipse挂掉.可以通过以下的方式转化成你想要的 ...
- HDU5805 NanoApe Loves Sequence (BestCoder Round #86 B)前后缀预处理
分析:维护空隙的差,然后预处理前缀最大,后缀最大,扫一遍 #include <cstdio> #include <cstring> #include <cmath> ...
- BITED数学建模七日谈之七:临近比赛时的准备工作
经过前面六天的文章分享,相信大家对数学模型的相关准备.学习都有了更新的认识,希望大家能从中有所收获,以便更高效地准备比赛和学习数学模型,本文是数学建模经验谈的最后一天:临近比赛的准备工作,希望在临近比 ...
- sql-labs 分享
前段时间在网上发现了一个阿三同学托管在github上的sql注入入门科普项目,感觉挺不错,在此分享一下.虽然现在有很多工具比如sqlmap可以实现自动化的sql注入,但是个人感觉如果只知其然而不知其所 ...
- 未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。
未能加载文件或程序集“Newtonsoft.Json, Version=6.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed”或它的某一个 ...
- dom 冒泡事件
<!doctype html> <html> <head> <meta charset="utf-8"> <style> ...
- 著名加密库收集 Encrypt
CryptoAPI 微软的CryptoAPI crypt32.lib,advapi32.lib,cryptui.lib #include <wincrypt.h>#include < ...
- ubuntu 安装ssh-server时出现错误:openssh-server: Depends: openssh-client (= 1:5.3p1-3ubuntu3) but 1:5.3p1-3ubuntu4 is to be installed
错误如下: tiger@ubuntu:~/Desktop/work$ sudo apt-get install openssh-server [sudo] password for tiger: Re ...