Ryzom Client Build Error hen Creating Library

Added by owen_a about 8 years ago

Hello All!

I've just compiled the Ryzom. But when it compled the client, towards the end when it started to create the client .exe It shows this......

action_handler.cpp
Generating Code...
Compiling resources...
Microsoft (R) Windows (R) Resource Compiler Version 6.1.6723.1
Copyright (C) Microsoft Corporation. All rights reserved.
Linking...
Creating library ..\..\bin\client_ryzom_r.lib and object ..\..\bin\client_ryzom_r.exp
lua_ihm.obj : error LNK2019: unresolved external symbol "public: struct std::pair<void *,int> __thiscall luabind::detail::cast_graph::cast(void *,unsigned int,unsigned int,unsigned int,void const *)const " (?cast@cast_graph@detail@luabind@QBE?AU?$pair@PAXH@std@PAXIIIPBX@Z) referenced in function "public: virtual struct std::pair<void *,int> __thiscall luabind::detail::pointer_holder<class std::auto_ptr<class NLMISC::CRGBA>,class NLMISC::CRGBA>::get(unsigned int)const " (?get@?$pointer_holder@V?$auto_ptr@VCRGBA@NLMISC@@std@VCRGBA@NLMISC@@detail@luabind@UBE?AU?$pair@PAXH@std@I@Z)
lua_ihm.obj : error LNK2019: unresolved external symbol "public: __thiscall luabind::scope::scope(class std::auto_ptr<struct luabind::detail::registration>)" (??0scope@luabind
@QAE@V?$auto_ptr@Uregistration@detail@luabind@@std@Z) referenced in function "struct luabind::scope __cdecl luabind::def<int (__cdecl*)(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &),struct luabind::detail::null_type>(char const *,int (__cdecl*)(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &),struct luabind::detail::null_type const &)" (??$def@P6AHABV?$basic_string@DU?$char_traits@D@std@V?$allocator@D@2@std@ZUnull_type@detail@luabind@luabind@YA?AUscope@0@PBDP6AHABV?$basic_string@DU?$char_traits@D@std@V?$allocator@D@2@std@@ZABUnull_type@detail@0@Z)
lua_ihm.obj : error LNK2019: unresolved external symbol "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl luabind::detail::get_class_name(struct lua_State *,class luabind::type_id const &)" (?get_class_name@detail@luabind@YA?AV?$basic_string@DU?$char_traits@D@std@V?$allocator@D@2@std@PAUlua_State@ABVtype_id@2@Z) referenced in function "public: static void __cdecl luabind::detail::type_to_string<class ucstring>::get(struct lua_State *)" (?get@?$type_to_string@Vucstring@@detail@luabind@SAXPAUlua_State@@@Z)
..\..\bin\client_ryzom_r.exe : fatal error LNK1120: 3 unresolved externals

Can anybody help?


Replies (21)

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

Did you follow the process on the page http://dev.ryzom.com/wiki/ryzom/BuildForWindows ?

All guys which didn't follow the "Visual Studio Configuration" part have this error.

You are using MS STL with luabind compiled with STLport, so you have 2 choices :

  • compile yourself all dependencies without STLport
  • setup correctly your Visual C++ to use STLport

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

I followed that section, else I wouldn't of got to 14 projects compiled.

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

No, because the only project which uses a 3rd party C++ lib (luabind in our case) is Ryzom client :)

All other 3rd party libs are not using std::string because they are in C.

If you check the functions names in your errors, you will notice some std::basic_string which implies that you used MS STL and not STLport.

When you setup includes folders correctly, STLport include is the first line, so Visual C++ will use STLport version of std::string instead of its own and you won't have any error with std::basic_string.

I'm sorry, but I repeated that a lot of times before you.

http://dev.ryzom.com/boards/17/topics/2443
http://dev.ryzom.com/boards/17/topics/2265
http://dev.ryzom.com/boards/17/topics/1639

And some other...

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Ok. Since Client is still compiling, I found these errors in the build log.....

------ Rebuild All started: Project: ryzom_configuration, Configuration: Debug Win32 ------
Deleting intermediate and output files for project 'ryzom_configuration', configuration 'Debug|Win32'
Compiling...
bar.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
base_dialog.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
cfg_file.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
client_config.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
client_configDlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
database.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
display_advanced_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
display_details_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
display_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
display_information_d3d_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
display_information_gl_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
general_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
sound_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
StdAfx.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
system_information_dlg.cpp
c:\projects\ryzom\code\ryzom\tools\client\client_config\stdafx.h(33) : fatal error C1083: Cannot open include file: 'afxwin.h': No such file or directory
Generating Code...

RE: Ryzom Client Build Error hen Creating Library - Added by vl about 8 years ago

You need MFC to compile "client_config". it's an external exe that we don't use anyway.

So just don't compile it and skip it.

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Ah ok. Well now since I've got client_ryzom_d.exe when I run it it gives me an error which is:

nel_drv_opengl_win not found

Is this because I compiled it all in Debug and not Release? (I'am compiling it in Release now)

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

Did you add NeL lib folder in your system path ?

That's the first image of tutorial...

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Yes, I did. But I'l re-check just in-case.

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

Btw, you'll need to quit and relaunch VC++ after you changed that, else it won't use the new PATH variable.

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Yep, I've restarted, and I'm compiling it in Release Mode. Says at the bottom of that tutorial if you want to compile the client,server,tools you make sure its in release configuration and press F7 to build it.

Now, should this work?

And what will I be expecting at the end of the build? Should I be able to start the .exe?

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

In Debug mode, that's working too, why should it work only in Release mode ?

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

I'm not saying it only works on release mode, i'am just saying it says in the tutorial to select Release.

Have you managed to compile and run the game?

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

Yes, I debug Ryzom client since 2008 :p

I'm one of the main developers.

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Wow, Nice. I've been looking for an MMORPG for along time, but now my search has ended, since I found what I belive the best one out there... Ryzom :)


Anyways back on topic, Should I be able to run the game from the Bin folder?

RE: Ryzom Client Build Error hen Creating Library - Added by molator about 8 years ago

I don't belong to ryzom core team and i managed to build and run the game :).

I'm not the only one.

Have look here :
http://dev.ryzom.com/wiki/ryzom/CurrentState

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

hmm.... I guess i'll have to wait and see :)

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

Yes, you just need to put the folder where Ryzom data are located in Debugging -> Working Directory.

After that, when you press F5 to launch client, it will find client.cfg file and start to load all needed files.

But client will be slower than if you didn't launch it from debugger.

It's not specific to Ryzom, all C++ projects are using the same method.

RE: Ryzom Client Build Error hen Creating Library - Added by kervala about 8 years ago

In client property page.

If you need real time support, it's better to use #ryzom IRC channel than forum :)

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

oh hello... IRC.... This will help.

How can I connect?

RE: Ryzom Client Build Error hen Creating Library - Added by owen_a about 8 years ago

Ah. Client Properties.... Configuration Properties >> Debugging >> Working directory

Theres no path its just blank in the Working Dir.

(1-21/21)