Re: [luabind] attempt to concatenate field 'value' (a function value)
Brought to you by:
arvidn,
daniel_wallin
From: Daniel S. <ma...@sq...> - 2014-11-02 22:28:27
|
Just confirming that yes this fixed my real application to. Thanks a bunch. On 1 November 2014 22:28:45 GMT+00:00, Daniel Squires <ma...@sq...> wrote: >Brilliant thanks. I can confirm that fixes my problem, at least in the >test case. I'll try my main app tomorrow. > >On 1 November 2014 19:34:42 GMT+00:00, Andreas Grob ><and...@tu...> wrote: >>I can confirm your error with luabind 0.9.1+dfsg-8, which is what Mint > >>17 is using. >>An update of libluabind and libluabind-dev to 0.9.1+dfsg-9 (from >debian >> >>sid) resolves the problem. >> >>Regards, >>Andreas >> >>Am 01.11.2014 um 19:42 schrieb ma...@sq...: >>> oops, I had missed that out of the simplified test case, however it >>still >>> isn't working for me after adding that in :(. >>> >>> I guess lua or luabind is broken on my system (Linux Mint 17) >>> >>>> Hello, >>>> >>>> Your Lua code should not be working at all, since no libraries are >>>> loaded and print isn't even defined. >>>> After adding luaL_openlibs(L); after creating the Lua state, it >>works >>>> fine for me: >>>> >>>> $ ./lua >>>> value : 4 >>>> >>>> Regards, >>>> Andreas >>>> >>>> >>>> Am 01.11.2014 um 18:45 schrieb ma...@sq...: >>>>> Can anybody explain this for me? It used to work on an older >system >>with >>>>> lua5.1. >>>>> >>>>> i'm now using lua5.2, luabind version us 0.9.1 (on both systems) >>>>> >>>>> g++ -o lua lua.cpp -lluabind -llua5.2 -ldl -I /usr/include/lua5.2 >>>>> ./lua >>>>> lua runtime error >>>>> [string "function test(t)..."]:2: attempt to concatenate field >>'value' >>>>> (a >>>>> function value) >>>>> >>>>> extern "C" { >>>>> #include "lua.h" >>>>> #include "lualib.h" >>>>> #include "lauxlib.h" >>>>> } >>>>> >>>>> #include <luabind/luabind.hpp> >>>>> #include <iostream> >>>>> >>>>> struct Test >>>>> { >>>>> Test(int v) : value(v) {}; >>>>> ~Test() {}; >>>>> int value; >>>>> }; >>>>> >>>>> >>>>> int DebuggerFunc(lua_State* L) >>>>> { >>>>> luabind::object error_msg(luabind::from_stack(L, -1)); >>>>> std::cerr << error_msg << std::endl; >>>>> return 0; >>>>> } >>>>> >>>>> int main() { >>>>> lua_State *L = luaL_newstate(); >>>>> luabind::open(L); >>>>> >>>>> luabind::module(L) >>>>> [ >>>>> luabind::class_<Test>("Test") >>>>> .def(luabind::constructor<int>()) >>>>> .def_readonly("value",&Test::value) >>>>> ]; >>>>> >>>>> luaL_dostring( >>>>> L, >>>>> "function test(t)\n" >>>>> " print(\"value : \" .. t.value)\n" >>>>> "end\n" >>>>> ); >>>>> >>>>> Test t(4); >>>>> >>>>> try { >>>>> luabind::call_function<int>(L, "test", &t); >>>>> } >>>>> catch (const luabind::error &er) >>>>> { >>>>> std::cerr << er.what() << std::endl; >>>>> lua_State* Ler=er.state(); >>>>> DebuggerFunc(Ler); >>>>> } >>>>> catch (...) >>>>> { >>>>> std::cerr << "Unknown error!" << std::endl; >>>>> } >>>>> lua_close(L); >>>>> } >>>>> >>>>> >>>>> >>------------------------------------------------------------------------------ >>>>> _______________________________________________ >>>>> luabind-user mailing list >>>>> lua...@li... >>>>> https://lists.sourceforge.net/lists/listinfo/luabind-user >>>> >>>> >>------------------------------------------------------------------------------ >>>> _______________________________________________ >>>> luabind-user mailing list >>>> lua...@li... >>>> https://lists.sourceforge.net/lists/listinfo/luabind-user >>>> >>> >>> >>> >>------------------------------------------------------------------------------ >>> _______________________________________________ >>> luabind-user mailing list >>> lua...@li... >>> https://lists.sourceforge.net/lists/listinfo/luabind-user >> >> >>------------------------------------------------------------------------------ >>_______________________________________________ >>luabind-user mailing list >>lua...@li... >>https://lists.sourceforge.net/lists/listinfo/luabind-user > >-- >Sent from my Android device with K-9 Mail. Please excuse my brevity. > >------------------------------------------------------------------------ > >------------------------------------------------------------------------------ > > >------------------------------------------------------------------------ > >_______________________________________________ >luabind-user mailing list >lua...@li... >https://lists.sourceforge.net/lists/listinfo/luabind-user -- Sent from my Android device with K-9 Mail. Please excuse my brevity. |