1
我一直在努力了很長一段時間。 每當我嘗試定義luabind類我得到一個斷言失敗LuaBind assert(id <local_id_base)
assert(id < local_id_base) in inheritance.hpp (luabind)
我已經嘗試了很多不同的luabind叉沒有任何成功。 雖然他們都被編譯提升1.53和Visual Studio 2012 還與盧阿5.2.1
這是我使用的代碼,只是
extern "C"
{
#include "lua.h"
#include "lauxlib.h"
#include "lualib.h"
}
#include <luabind/luabind.hpp>
#include <luabind/class.hpp>
#include <luabind/function.hpp>
#include <luabind/object.hpp>
class TestStruct
{
public:
TestStruct(const std::string& s): m_string(s) {}
void printmsg() { printf("Works"); };
private:
int i;
std::string m_string;
};
int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPTSTR lpCmdLine,
_In_ int nCmdShow)
{
UNREFERENCED_PARAMETER(hPrevInstance);
UNREFERENCED_PARAMETER(lpCmdLine);
lua_State* L = luaL_newstate();
luaopen_io (L);
luaopen_base(L);
luaopen_table(L);
luaopen_string(L);
luaopen_math(L);
using namespace luabind;
open(L);
module(L)
[
class_<TestStruct>("TestStruct")
.def(constructor<const std::string&>())
.def("printmsg", &TestStruct::printmsg)
];
lua_close(L);
return 0;
}
[解決]
閱讀後,我幾乎沒有任何地方。 所以我做的是在同一個項目中創建LuaBind和Lua 5.2.2,創建一個lib而不是兩個單獨的項目。
沒有看到(將編輯自己的帖子) 雖然這不是問題。 – Meanz