cocos2d-x Lua编译成二进制

##编译cocos2dx自带的luajit

  1. 进入目录external/lua/luajit/src
  2. 运行命令make && make install

##编译使用的命令

luajit -b main.lua ../bytecode/main.lua

##批处理 使用js脚本进行批处理,把src的lua文件编译到bytecode目录里面

#!/usr/bin/env node

var fs = require('fs');
var spawn = require('child_process').spawn

var src = "./";
var dest = "../bytecode/";

function filter(path) {
	var extendName = path.substring(path.lastIndexOf('.')+1, path.length);
	extendName = extendName.toLowerCase();
	if (extendName == "lua") {
		return true;
	}
	return false;
}

(function build(src, dest) {
	var lists = fs.readdirSync(src);
	var tempDirs = [];
	if (!fs.existsSync(dest)) {
		fs.mkdirSync(dest);
	}
	lists.forEach(function(path) {
		var fullSrcPath = src + path;
		var fullDestPath = dest + path;
		var stats = fs.lstatSync(fullSrcPath);
		if (stats.isFile()) {
			if (filter(fullSrcPath)) {
				console.log("luajit -b " + fullSrcPath + " " + fullDestPath);
				var ps = spawn("luajit", ["-b", fullSrcPath, fullDestPath]);
				ps.on('error', function (data) {
					console.log('stderr: ' + data);
				});
			}
		} else if(stats.isDirectory()) {
			tempDirs.push(path);
		}
	});
	tempDirs.forEach(function(path) {
		build(src + path + "/", dest + path + "/");
	});
})(src, dest);

在src目录下面运行命令 Luajitbuild.js。

##修改Android的编译配置 编译发布版本的时候,要把src目录移除,把bytecode加入到复制路径。

打开proj.android/build-cfg.json

修改:

{
    "from": "../../../src",
    "to": "src",
    "exclude": [
        "*.gz"
    ]
}

{
    "from": "../../../bytecode",
    "to": "bytecode",
    "exclude": [
        "*.gz"
    ]
},
        

##修改游戏入口文件 打开config.json文件,把entry变量改成bytecode下的main.lua

##Ok,大功告成

转载于:https://my.oschina.net/skyhacker2/blog/334051

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值