在Mac OS X上将wxLua与LuaJIT结合起来

如何在 Mac OS X(10.6.8)上构建 wxLua,以便它使用 LuaJIT2 而不是标准的 Lua 解释器?

我尝试过:

./configure --with-lua-prefix=/Users/finnw/LuaJIT-2.0.0-beta9

其中 /Users/finnw/LuaJIT-2.0.0-beta9 是我构建 LuaJIT 的目录。

我还尝试将 src/libluajit.a 复制到 lib/liblua5.1.a,将 src/libluajit.so 复制到 lib/liblua5.1.so 和更改扩展名从 .so.dylib,以及其他各种组合。

但是我始终得到的是 Lua 而不是 LuaJIT(可以通过加载需要 ffi 模块的脚本来验证)。

我该如何强制它链接到 LuaJIT2?为什么 configure --with-lua-prefix 选项没有实现其声明的功能?

点赞
用户1516484
用户1516484

以下方法适用于 Debian:

$ ./configure --with-lua-prefix=/path/to/luajit --enable-systemlua

它指向 /path/to/luajit/include/lua5.1/*.h 和 /path/to/luajit/lib/liblua5.1.a。

--enable-systemlua 确保它尝试在指定的前缀处查找 Lua,并且将使配置失败而不是回退到 wxLua 捆绑的 Lua。

您还需要将 wxlbind.cpp 和 wxlstate.cpp 中的两个 luaI_openlib 实例替换为 luaL_openlib,因为这在 5.1 中已经过时且在 LuaJIT2 中不存在。

2012-07-11 05:49:13