使用最近的luaJITlua_open
回报null
。常规 lua 库不会发生这种情况。
lua_State *L = lua_open();
std::cout << L << std::endl;
Output: 0x0
我怎样才能让 luaJIT 工作?
SSCCE:
#include <iostream>
#include <luajit-2.0/lua.hpp>
//linked library: libluajit-5.1.a
int main(int argc, const char * argv[])
{
lua_State *L = luaL_newstate(); // lua_open();
std::cout << L << std::endl; // 0x0
}
附加信息:从源代码构建在 OSX 10.9 上(尝试了 2.0.2 和 git)make
and make install
。使用编译器:
$ cc --version
Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
Target: x86_64-apple-darwin13.0.0
Thread model: posix
(使用luajit命令行应用程序luajit
工作正常,测试脚本执行没有错误。)
显然,x64 Mac 应用程序需要特殊处理;看http://luajit.org/install.html.
如果您正在 OSX 上构建直接或间接链接的 64 位应用程序
针对 LuaJIT,您需要将主可执行文件与这些标志链接起来:
-pagezero_size 10000 -image_base 100000000
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)