我想简单地使用下面的C++代码如何链接LuaJIT与C++程序?
lua_State *state = luaL_newstate();
luaL_openlibs(state);
lua_getglobal(state, "_G");
lua_pushstring(state, "print");
lua_pushnumber(state, 4.5);
lua_call(state, 2, 1);
lua_close(state);
而且我得到了链接错误。上述所有的函数调用产生链接错误:
1>main.obj : error LNK2001: unresolved external symbol _luaL_newstate
1>main.obj : error LNK2001: unresolved external symbol _lua_pushnumber
1>main.obj : error LNK2001: unresolved external symbol _lua_call
1>main.obj : error LNK2001: unresolved external symbol _lua_pushstring
1>main.obj : error LNK2001: unresolved external symbol _luaL_openlibs
1>main.obj : error LNK2001: unresolved external symbol _lua_getfield
1>main.obj : error LNK2001: unresolved external symbol _lua_close
头包含与此代码完成的:
extern "C" {
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
我用MinGW的 “安装” LuaJIT,的mingw32-使BUILDMODE =静态的。它给了我一个很好的“成功构建LuaJIT”。
我正在用VS2012编译代码。我已经设置了这样的连接器:
其他库直接命令:D:\ Programming \ LuaJIT Source \ LuaJIT-2.0.1 \ src 其他包含直接命令:D:\ Programming \ LuaJIT Source \ LuaJIT-2.0。 1 \ src
我在一台windows7机器上,我在他们的github页面上使用了最新的LuaJIT。
谢谢,这工作,我不得不添加此:#pragma评论(lib,“lua51.lib”) – user1830431
嗨。我尝试使用msvc编译luajit,就像它在安装说明中所说的那样。但我总是失败。我只是无法从.net命令提示符启动msvcbuild命令。有谁知道我在做什么错? – SuperYegorius