不知道有没有同学跟我一样,喜欢在ubuntu系统上开发。
我在ubuntu上成功部署了整套cocos2d-js,但是在release的时候遇到了麻烦
因为cocos2d-js rc0版本发布release的时候会自动编译jsc文件,但是jsbcc命令只支持mac和windows,所以,为了在linux系统上完成release,必须自己编译对应的linux版本的jsbcc命令
查了一下,发现JSCompiler的源码在这个项目地址 https://github.com/cocos2d-html5/JSCompiler
jsbcc_source里面只有ios和win32两个版本,那怎么办呢?
别忘了在cocos2d-js中本身有spidermonkey的linux版的prebuild
在 cocos2d-js/frameworks/js-bindings/external/spidermonkey/prebuild/linux 下
因此,clone 项目 https://github.com/cocos2d-html5/JSCompiler
将 cocos2d-js/frameworks/js-bindings/external/spidermonkey/prebuild/linux 下的两个目录copy到 JSCompiler/jsbcc_source/spidermonkey-linux/lib 下
将 cocos2d-js/frameworks/js-bindings/external/spidermonkey/include/linux 下的文件 copy 到 JSCompiler/jsbcc_source/spidermonkey-linux/include 下
进入 JSCompiler/jsbcc_source/src
创建 makefile 文件,内容如下:
# Compile jsbcc for linux main:main.cpp g++ --std=c++0x main.cpp -I../spidermonkey-linux/include ../spidermonkey-linux/lib/64-bit/libjs_static.a -lz -lpthread -o jsbcc ``` 然后执行 make 编译即可 (如果提示lz不存在,需要安装zlib-dev,可自行搜索、安装) 编译完成之后将jsbcc替换 cocos2d-js/tools/cocos-console/plugins/plugin_jscompile/bin/jsbcc 文件 然后进入 cocos2d-js 的项目,试着 cocos compile -p android -m release,会发现 jsc 文件能够正常编译生成了。