我想簡單地使用下面的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