Visual C++ 6.0 build errors

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
Solstice
Posts: 4
Joined: 13.11.2004
With us: 20 years
Location: Atlanta, USA

Visual C++ 6.0 build errors

Post #1by Solstice » 15.11.2004, 00:09

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

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #2by selden » 15.11.2004, 02:52

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

Topic author
Solstice
Posts: 4
Joined: 13.11.2004
With us: 20 years
Location: Atlanta, USA

Post #3by Solstice » 15.11.2004, 22:08

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

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #4by selden » 15.11.2004, 22:41

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
Selden

Topic author
Solstice
Posts: 4
Joined: 13.11.2004
With us: 20 years
Location: Atlanta, USA

Post #5by Solstice » 22.11.2004, 01:22

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

Topic author
Solstice
Posts: 4
Joined: 13.11.2004
With us: 20 years
Location: Atlanta, USA

Post #6by Solstice » 22.11.2004, 01:26

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


Return to “Development”