Page 1 of 1

Visual C++ 6.0 build errors

Posted: 15.11.2004, 00:09
by Solstice
Does anyone know how to rid the latest HEAD source of the following problems in celengine/render.cpp and celengine/stardb.cpp compiles?

render.cpp
c:\program files\microsoft visual studio\vc98\include\algorithm(583) : error C2784: 'bool __cdecl std::operator <(const class std::multimap<_K,_Ty,_Pr,_A> &,const class std::multimap<_K,_Ty,_Pr,_A> &)' : could not deduce template argument for 'const
class std::multimap<_K,_Ty,_Pr,_A> &' from 'Renderer::Label'
c:\program files\microsoft visual studio\vc98\include\algorithm(548) : see reference to function template instantiation 'void __cdecl std::_Unguarded_insert(Renderer::Label *,Renderer::Label)' being compiled
.
.
.
c:\program files\microsoft visual studio\vc98\include\algorithm(583) : error C2676: binary '<' : 'Renderer::Label' does not define this operator or a conversion to a type acceptable to the predefined operator
c:\program files\microsoft visual studio\vc98\include\algorithm(548) : see reference to function template instantiation 'void __cdecl std::_Unguarded_insert(Renderer::Label *,Renderer::Label)' being compiled


and for stardb.cpp
c:\program files\microsoft visual studio\vc98\include\algorithm(856) : error C2784: 'bool __cdecl std::operator <(const class std::multimap<_K,_Ty,_Pr,_A> &,const class std::multimap<_K,_Ty,_Pr,_A> &)' : could not deduce template argument for 'const
class std::multimap<_K,_Ty,_Pr,_A> &' from 'struct StarDatabase::CrossIndexEntry'
c:\program files\microsoft visual studio\vc98\include\algorithm(847) : see reference to function template instantiation 'struct StarDatabase::CrossIndexEntry *__cdecl std::_Lower_bound(struct StarDatabase::CrossIndexEntry *,struct StarDataba
se::CrossIndexEntry *,const struct StarDatabase::CrossIndexEntry &,int *)' being compiled
.
.
.
c:\program files\microsoft visual studio\vc98\include\algorithm(856) : error C2676: binary '<' : 'struct StarDatabase::CrossIndexEntry' does not define this operator or a conversion to a type acceptable to the predefined operator
c:\program files\microsoft visual studio\vc98\include\algorithm(847) : see reference to function template instantiation 'struct StarDatabase::CrossIndexEntry *__cdecl std::_Lower_bound(struct StarDatabase::CrossIndexEntry *,struct StarDataba
se::CrossIndexEntry *,const struct StarDatabase::CrossIndexEntry &,int *)' being compiled



I have the latest updates for VC 6.0++. Was wondering if anyone knew of a work around. I don't have the funds to move to the latest VC# compiler or such.

TIA,
Solstice

Posted: 15.11.2004, 02:52
by selden
What costs money is the GUI development environment. MS provides their current v7.x C++ compiler for free. See http://msdn.microsoft.com/visualc/vctoolkit2003/.

Someone is working on providing a "cookbook" for using the free compiler to build Celestia, but apparently it isn't quite ready yet.

Posted: 15.11.2004, 22:08
by Solstice
ok. I'll look into it. On another note, what version of the JPEG library is being used? There are versions around that use stdio stream method for reading a file and as such is incompatiable with the celestia calls. ie:

/* Define this if you want to name both input and output files on the command
* line, rather than using stdout and optionally stdin. You MUST do this if
* your system can't cope with binary I/O to stdin/stdout. See comments at
* head of cjpeg.c or djpeg.c.
*/
#define TWO_FILE_COMMANDLINE

TIA

Posted: 15.11.2004, 22:41
by selden
You probably should download the libraries from Shatters.net instead of trying to build them yourself.
They're in http://www.shatters.net/celestia/files/winlibs-new.zip

Posted: 22.11.2004, 01:22
by Solstice
ok. I have figured out the above issues. First time looking at anything makes one scratch his head some. 8O

Now I have downloaded the freebie Visual C++ 2005 Express Beta and have just about gotten a complete build. I am still trying to resove these references. Can anyone tell me what lib/dll/whatever these are located?

shadermanager.obj) : error LNK2001: unresolved external symbol "public: void __thiscall GLProgram::use(void)const ...

render.obj) : error LNK2019: unresolved external symbol "public: class Vec4ShaderParameter...

shadermanager.obj) : error LNK2019: unresolved external symbol "public: __thiscall FloatShaderParameter::FloatShaderParameter(void)" (??0FloatShaderParameter@@QAE@XZ) referenced in function "public: __thiscall CelestiaGLProgram::CelestiaGLProgram(...


TIA

Posted: 22.11.2004, 01:26
by Solstice
Another question. My latest ATI driver update for my 9600xt is OpenGL version 1.5.4707. I was wondering if one can expect a 9600xt to eventually get OpenGL2.0 support? (Hoping I don't have to reinvest in another Nvidia card to get to 2.0.)