SpiderMonkey学习笔记(1)--环境搭建
来源:互联网 发布:物理仿真模拟软件 编辑:程序博客网 时间:2024/04/28 00:19
SpiderMonkey是Mozilla Firefox浏览器的JavaScript引擎,用C/C++语言编写。最近借着使用Cocos2d-x的机会,学习了一下如何把SpiderMonkey嵌入到C++项目中以便给项目添加JS脚本执行能力。写点东西把自己学到的知识总结一下,也希望能帮到一些人 :)先从搭建环境开始:
1)新建一个空白的Single View应用
打开Xcode(4.6)的“Welcome to Xcode”窗口,点击“Create a new Xcode project”按钮:
选择iOS->Application->Single View Application,然后点Next:
填上各种信息,然后点Next:
接下来选择保存路径,点Next,这样一个新工程就诞生了:
2)拷贝JSAPI头文件和SpiderMonkey静态链接库
可以按照SpiderMonkey Build Documentation自己编译一份静态链接库,不过从Cocos2d-x里拷贝一份预先编译好的更容易一点。SpiderMonkey相关的头文件和静态链接库位于:Cocos2d-x(我用的是cocos2d-2.0-x-2.0.4)/scripting/javascript/spidermonkey-ios:
把spidermonkey-ios文件夹拷贝到刚刚创建好的工程里:
3)添加SpiderMonkey静态链接库
选中 TARGETS -> SpiderMonkeyTest -> Build Phases -> Link Binary With Libraries,点击 +
点击 Add Other... 按钮:
找到并且选中libjs_static.a然后点Open按钮:
这样SpiderMonkey的静态链接库就加好了:
4)添加zlib库
SpiderMonkey依赖zlib库,因此需要配置一下:
选中 TARGETS -> SpiderMonkeyTest -> Build Phases -> Link Binary With Libraries,点击 +
选中libz.dylib,添加Add按钮
这样,zlib库也添加好了:
5)把JSAPI头文件添加到搜索路径中
选中 TARGETS -> SpiderMonkeyTest -> BuildSettings -> Search Paths ->Header Search Path
双击右边的空白处,在弹出框左下角点加号,然后填上: "$(SRCROOT)/spidermonkey-ios/include"
6)把.m文件后缀改成.mm
为了在Objective-C代码里测试C++代码,需要把.m后缀改成.mm
7)JSAPI Hello World
从JSAPI User Guide中拷贝测试代码到ViewController.mm里,把main方法改成test:
运行项目,一切正常:
好了,一个SpiderMonkey的测试环境就搭建完必了,接下来可以做各种试验了。
- SpiderMonkey学习笔记(1)--环境搭建
- SpiderMonkey学习笔记(2)--封装JSAPI
- SpiderMonkey学习笔记(3)--实现alert()函数
- SpiderMonkey学习笔记(4)--实现max()函数
- Spidermonkey学习笔记
- Spidermonkey学习笔记
- Python学习笔记1-环境搭建
- android学习笔记(1)-android开发环境搭建
- 在Sublime中搭建SpiderMonkey编译环境
- Angular2学习笔记-环境搭建
- XNA学习笔记(1)-环境搭建
- php学习笔记(1)- 环境搭建
- Java学习笔记(1)--环境搭建
- django学习笔记(1)环境搭建
- sqlite学习笔记(1)环境搭建
- CUDA学习笔记(1):环境搭建
- spidermonkey学习
- 学习 SpiderMonkey
- IGMP:Internet组管理协议
- java.swing--setActionCommand()
- 九度oj1202
- Qt Creator使用体会与小技巧
- Mysterious Organization
- SpiderMonkey学习笔记(1)--环境搭建
- 操作系统_再识(字符设备驱动编写步骤)
- mysql中的LOCK TABLES和UNLOCK TABLES
- 指针和数组的“不同”
- Android中的长度单位详解(dp、sp、px、in、pt、mm)
- 技术不值钱了。
- 10791 - Minimum Sum LCM
- ZOJ 1796 Euchre Results
- sdut2163 Identifiers