编译linux版本jsbcc命令

不知道有没有同学跟我一样,喜欢在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 文件能够正常编译生成了。

赞,我因为Ubuntu没有jsbcc,把编译环境换到mac上了。哥们,你有没有试过编译ipa,在ios 6以下版本上运行?我测试的结果都是出现一个全屏logo,然后退出。

iOS的版本兼容我现在没有测试过,回头测一下

嗯,关键xcode还无法拦截这个错误,所以不清楚问题到底在哪里。如果游戏上平台,肯定会要求测试ios 5.1.1,否则不让上线的(起码国内平台是这样)。我再试试在xcode 5.1.1装5.x的模拟器,然后再调试看看。

还有cocos2d-js-v3.0-rc0/tools/cocos2d-console/plugins/project_compile/project_compile.py的ios编译相对beta版做了很多修改,判断了release模式用arm指令集编译,并且集成了xcrun打ipa包,但默认debug模式只能编译i386指令集的模拟器版本有点扯。如果我要在模拟器里跑,那么我肯定直接在xcode里调试运行了,而很多时候在做内部测试的时候,还是需要以debug模式编译,然后在真机上跑,有问题直接firefox连上去调试。

jsbcc.exe windows版本也运行不了,提示不是有效的win32程序
这个程序对.net 或者操作系统 版本 有啥要求吗?

不得不回帖子,nonexist——你得头像实在恶心!:2: