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. |