Issue with LUA
I am trying to compile the globale server.sln solution, all compile except one project: the client.
Here is the error :
1>------ Début de la génération : Projet : *client*, Configuration : *Release Win32* ------ 1>Édition des liens en cours... 1> Création de la bibliothèque ..\..\bin\client_ryzom_r.lib et de l'objet ..\..\bin\client_ryzom_r.exp 1>lua_ihm.obj : error LNK2019: symbole externe non résolu "public: struct std::pair<void *,void *> __thiscall luabind::detail::class_rep::allocate(struct lua_State *)const " (*?allocate@class_rep@detail@luabind@@QBE?AU?$pair@PAXPAX@std@@PAUlua_State@@@Z*) référencé dans la fonction "public: void __thiscall luabind::detail::value_converter<struct luabind::detail::cpp_to_lua>::apply<class NLMISC::CRGBA>(struct lua_State *,class NLMISC::CRGBA const &)" (??$apply@VCRGBA@NLMISC@@@?$value_converter@Ucpp_to_lua@detail@luabind@@@detail@luabind@@QAEXPAUlua_State@@ABVCRGBA@NLMISC@@@Z) 1>..\..\bin\client_ryzom_r.exe : fatal error LNK1120: 1 externes non résolus
It seems the compiler does not find the implementation of the function. The lib used is the one prodived in external_stlport_32.7z package.
I tryed to open the luabind.lib (I think the function implementation must be there, doesn't it?) and here is what is declared :
You can notice that there is something different (std instead of stlpx_std) from what was expected by the compiler.
My configuration : VS 2008 PRO with SP1 + Vista 32bits.
Thank you very much for your help.
RE: Issue with LUA - Added by kervala about 3 years ago
Did you put "<your_externals_folder>/include/stlport" at the top of VC++ includes ? :)
You compiled your client without STLPort and luabind with :)
RE: Issue with LUA - Added by prophetpro about 3 years ago
Thank you for your answer.
Actually, I put it on the top (includes, lib and bin) to be sure it is taken by the compiler (in prior to regular std lib).
I know it is strange, because it behaves like it wants to retrieve the definition of the allocate function (or maybe the lua_State structure only) in std lib instead of stlpx_std (besides, is it a namespace? Could it be that it is trying to get the definition in std namespace instead of in stlpx_std namespace?)
I don't know the lua lib...
What it is strange is that I am the only one having this error, so I guess it is only a matter of configuration, but even knowing that it probably comes from lua, I don't know how to force the compiler to use my files... Moreover what it is still more strange, is that it only fails to load this function (I mean if the issue was that I didn't include the good librarie, why the others from LUA didn't fail?).
config.jpg (72.8 kB)