Ryzom client cannot be built without STLport
As the title says, I can't build the Ryzom client without STLport because I get the following error message.
1>LINK : fatal error LNK1104: cannot open file 'stlportd_statix.lib'
So I took the initiative and tried to track the problem down by enabling full message logging for the linker and it seems it's LuaBind that causes it.
1> Searching E:\projects\ryzom\src\external_stlport\lib\luabind_d.lib:
1> Found "void __cdecl luabind::open(struct lua_State *)" (?open@luabind@
1> Referenced in lua_helper.obj
1> Loaded luabind_d.lib(open.obj)
Also taken a look at the library and indeed "/DEFAULTLIB:stlportd_statix.lib" seems to be in the binary.
#1 Updated by dfighter about 1 year ago
Oh yea forgot to include some details.
I am building with Visual Studio 2008 professional on Windows 7 enUS professional.
Thanks in advance!
#2 Updated by kervala about 1 year ago
I suppose you unchecked WITH_STLPORT but did you check what is your LUABIND_LIBRARIES variable ?
You're still using STLPort because "E:\projects\ryzom\src\external_stlport\lib\luabind_d.lib" is not normal.
I succeeded to compile both with and without STLport, you just need to clear/fix your bad variables in cache.
#3 Updated by dfighter about 1 year ago
- File CMakeCache.txt added
Well yes I have WITH_STLPORT unchecked ofc, but I don't seem to have a LUABIND_LIBRARIES variable in my cache.
However I have
//Path to a library.
//Path to a library.
Actually let me attach my entire cache, maybe you can make some sense of it.
#4 Updated by kaetemi about 1 year ago
You shouldn't be using the stlport-built externals without stlport.
#5 Updated by dfighter about 1 year ago
Well kaetemi, unfortunately using the externals without stlport didn't help either.
That is if I am trying the right one ( http://sourceforge.net/projects/ryzom/files/external.7z/download )
#6 Updated by kervala about 1 year ago
Kaetemi is right, there are 2 different externals, one with STLport and another without. There is a reason for that : a C++ library compiled with STLport can't be linked against something else using MS STL without generating conflicts.
Now you need to clean your CMake cache or edit path to C++ libraries.
#7 Updated by dfighter about 1 year ago
Yes I know that now Kervala, and even tried to use the external without STLport, and yet it failed with the very same error message.
I cleaned my CMake build folder as well so it doesn't make any sense now.
Btw even in the externals without STLport archive, the luabind libraries contain that STLport reference :S
#8 Updated by kervala about 1 year ago
Hum, I checked with an hex editor and it seems like external.7z provides bad 32 bits version of luabind libraries :( They effectively reference STLport namespace. 64 bits versions are fine though.
So I would have to recompile them soon (and, in the same occasion, update them and provide VC++ 2010 versions).