##编译cocos2dx自带的luajit
- 进入目录external/lua/luajit/src
- 运行命令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,大功告成