PlaneShift
Development => Development Deliberation => Topic started by: Madouc on September 28, 2005, 03:07:48 pm
-
i\'ve downloaded all the latest CVS files
CS complies allright,
cel compiles allright,
only psclient won\'t build.
it stops with the following errors:
------ Build started: Project: apppsclient, Configuration: Debug Win32 ------
Compiling...
psengine.cpp
\\dev\\planeshift\\src\\client\\psengine.cpp(251) : error C2259: \'psCal3DCallbackLoader\' : cannot instantiate abstract class
due to following members:
\'csPtr iLoaderPlugin::Parse(iDocumentNode *,iStreamSource *,iLoaderContext *,iBase *)\' : pure virtual function was not defined
with
[
T=iBase
]
..\\..\\..\\CS\\include\\imap\\reader.h(50) : see declaration of \'iLoaderPlugin::Parse\'
\\dev\\planeshift\\src\\client\\psengine.cpp(1052) : error C2259: \'psEffectManager\' : cannot instantiate abstract class
due to following members:
\'csPtr iLoaderPlugin::Parse(iDocumentNode *,iStreamSource *,iLoaderContext *,iBase *)\' : pure virtual function was not defined
with
[
T=iBase
]
..\\..\\..\\CS\\include\\imap\\reader.h(50) : see declaration of \'iLoaderPlugin::Parse\'
pscal3dcallback.cpp
\\dev\\planeshift\\src\\client\\pscal3dcallback.cpp(53) : error C2635: cannot convert a \'iBase*\' to a \'iMeshFactoryWrapper*\'; conversion from a virtual base class is implied
..\\..\\..\\CS\\include\\csutil\\scf_interface.h(108) : see declaration of \'iBase\'
..\\..\\..\\CS\\include\\iengine\\mesh.h(751) : see declaration of \'iMeshFactoryWrapper\'
\\dev\\planeshift\\src\\client\\pscal3dcallback.cpp(53) : error C2039: \'GetMeshObjectFactory\' : is not a member of \'iBase\'
..\\..\\..\\CS\\include\\csutil\\scf_interface.h(108) : see declaration of \'iBase\'
Build log was saved at \"file://h:\\dev\\planeshift\\mk\\visualc7.1\\psbuild\\debug\\apppsclient\\BuildLog.htm\"
apppsclient - 4 error(s), 0 warning(s)
i\'ve already double and tripple checked my paths.
i only have set my cel - lib path to \'h:\\dev\\cel\\out\\debug\\libs\\\' because \'h:\\dev\\cel\\msvc\\debug\\libs\\\' dousn\'t exist
-
I\'m wondering which guide you used for building Planeshift. For a while now, we have had a freeze date on CS and Cel, previsously it was 8-11, but it was moved up to 9-5. The guides on laanx say the 8-11 date, but these errors are due to CS being too new, so you didn\'t specify any date.
As for the errors, more functions were added into iLoaderPlugin:: Parse, however PS has not been adjusted for this change,. Use the freeze date of Sept. 5th, untill it is updated again.
-
the guide on laanx doesn\'t specify a date.
how do i get the dated versions?
-
Ah, you followed the Guide for VisualC++... that needs to be edited then. Instead of:
:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal
you should use:
:pserver:anonymous@cvs.sourceforge.net:/cvsroot/crystal co CS -D 2005-09-05 00:00:00
same for
:pserver:anonymous@cvs.sourceforge.net:/cvsroot/cel co cel -D 2005-09-05 00:00:00
I assume your CVS client can take the date format like that. If not... upgrade to Tortoise CVS :P
-
:)
changing 6 lines of code also made planeshift compatible with the latest CVS of CS en CEL :P
(i\'m already running tortoise CVS :) )
-
yeah,this is my modification:
in pscal3dcallback.h class psCal3DCallbackLoader definition do following modify
csPtr Parse(iDocumentNode * node, iStreamSource* ssource, iLoaderContext * ldr_context, iBase * context);
in pscal3dcallback.cpp modify the Parse implementation function
csPtr psCal3DCallbackLoader::Parse(iDocumentNode * node, iStreamSource* ssource, iLoaderContext * ldr_context, iBase * context)
{
csRef fact;
fact = SCF_QUERY_INTERFACE (context, iMeshObjectFactory);
csRef fcal3dsprite = SCF_QUERY_INTERFACE(fact, iSpriteCal3DFactoryState);
// turn the iBase into an iSpriteCal3DFactoryState so we can use it
//csRef fcal3dsprite = SCF_QUERY_INTERFACE(((iMeshFactoryWrapper *)context)->GetMeshObjectFactory(), iSpriteCal3DFactoryState);
thats all,
-
I have to more careful in updating the build guides on laanx to make sure they are showing the correct build dates.
-
The same is of course valid for the build guides in /docs, which - at least the one I have \"worked\" for - hasn\'t been updated with the \"freezing\" date.
Sorry for that.