Hi all,

Is there any news from Cedric on this problem ? The current SVN still don't
build under Windows and VS...

As a side note, anyone knows if there is a way to tell CMAKE to not stop the
installation step if one of the libs or plugins as failed to compile ? Not
all my projects use osgAnimation so it's not a big problem that it doesn't
build, but it's much more anoying to have to do the installation process by
hand because it stops when it tries to install the osgAnimation lib.

Thanks,

On Tue, Jun 16, 2009 at 4:42 PM, Robert Osfield <[email protected]>wrote:

> Hi JS,
>
> It's actually Cedric's that fixed most of the problems (he has write
> permission on osgAnimation). he works under Linux though so won't have
> seen this one.   I've added him explictly to the CC to make sure that
> he spots your email and knows that things are quite yet resolved.
>
> Robert.
>
> On Tue, Jun 16, 2009 at 3:36 PM, Jean-Sébastien
> Guay<[email protected]> wrote:
> > Hi Robert, all,
> >
> > I'm getting compile errors in osgAnimation, its plugin and one of its
> > examples (osganimationtimeline) after an SVN update (which fixed other
> > compile errors seen on my CDash build - thanks Robert :-) ). They all
> come
> > from the fact that a class is forward-declared, and then used in a
> ref_ptr.
> >
> > Here are the two cases (they are repeated wherever the headers are
> included,
> > but there are only two unique cases):
> >
> > in osgAnimation/Timeline:
> >
> > namespace osgAnimation {
> >    // ...
> >    class StatsActionVisitor;
> >    // ...
> >
> >    class OSGANIMATION_EXPORT Timeline : public Action
> >    {
> >        // ...
> >    protected:
> >        // ...
> >        osg::ref_ptr<osgAnimation::StatsActionVisitor> _statsVisitor;
> >        // ...
> >    };
> > }
> >
> > and the same thing in osgAnimation::ActionVisitor, for
> >
> >        std::vector<osg::ref_ptr<Timeline> > _stackTimeline;
> >
> > in the ActionVisitor class.
> >
> > Not sure how to fix this one, as the forward declaration seems to be used
> to
> > remove a circular dependency but it seems the complete type must be
> known.
> >
> > I've attached the complete compiler output.
> >
> > J-S
> > --
> > ______________________________________________________
> > Jean-Sebastien Guay    [email protected]
> >                               http://www.cm-labs.com/
> >                        http://whitestar02.webhop.org/
> >
> > 1>------ Build started: Project: osgAnimation, Configuration: Release
> Win32
> > ------
> > 1>Compiling...
> > 1>Timeline.cpp
> > 1>TimelineAnimationManager.cpp
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::StatsActionVisitor'
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(29)
> > : see declaration of 'osgAnimation::StatsActionVisitor'
> > 1>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(96)
> > : see reference to class template instantiation 'osg::ref_ptr<T>' being
> > compiled
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 1>StatsHandler.cpp
> > 1>..\..\..\src\osgAnimation\StatsHandler.cpp(428) : warning C4245:
> > 'argument' : conversion from 'int' to 'osg::Node::NodeMask',
> signed/unsigned
> > mismatch
> > 1>..\..\..\src\osgAnimation\StatsHandler.cpp(444) : warning C4245:
> > 'argument' : conversion from 'int' to 'osg::Node::NodeMask',
> signed/unsigned
> > mismatch
> > 1>StatsVisitor.cpp
> > 1>ActionVisitor.cpp
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::StatsActionVisitor'
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(29)
> > : see declaration of 'osgAnimation::StatsActionVisitor'
> > 1>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(96)
> > : see reference to class template instantiation 'osg::ref_ptr<T>' being
> > compiled
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 1>ActionCallback.cpp
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::StatsActionVisitor'
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(29)
> > : see declaration of 'osgAnimation::StatsActionVisitor'
> > 1>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(96)
> > : see reference to class template instantiation 'osg::ref_ptr<T>' being
> > compiled
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::StatsActionVisitor
> > 1>        ]
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 1>Action.cpp
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::Timeline'
> > 1>
> >
>  
> C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/ActionVisitor(26)
> > : see declaration of 'osgAnimation::Timeline'
> > 1>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::Timeline
> > 1>        ]
> > 1>        C:\Tools\msvs8\VC\include\vector(565) : see reference to class
> > template instantiation 'osg::ref_ptr<T>' being compiled
> > 1>        with
> > 1>        [
> > 1>            T=osgAnimation::Timeline
> > 1>        ]
> > 1>        C:\Tools\msvs8\VC\include\vector(550) : while compiling class
> > template member function 'std::vector<_Ty> &std::vector<_Ty>::operator
> > =(const std::vector<_Ty> &)'
> > 1>        with
> > 1>        [
> > 1>            _Ty=osg::ref_ptr<osgAnimation::Timeline>
> > 1>        ]
> > 1>
> >
>  
> C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/ActionVisitor(42)
> > : see reference to class template instantiation 'std::vector<_Ty>' being
> > compiled
> > 1>        with
> > 1>        [
> > 1>            _Ty=osg::ref_ptr<osgAnimation::Timeline>
> > 1>        ]
> > 1>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 1>Generating Code...
> > 1>Build log was saved at
> >
> "file://c:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\build\src\osgAnimation\osgAnimation.dir\Release\BuildLog.htm"
> > 1>osgAnimation - 8 error(s), 2 warning(s)
> > 2>------ Build started: Project: Plugins osganimation, Configuration:
> > Release Win32 ------
> > 2>Compiling...
> > 2>ReaderWriter.cpp
> > 2>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::StatsActionVisitor'
> > 2>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(29)
> > : see declaration of 'osgAnimation::StatsActionVisitor'
> > 2>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 2>        with
> > 2>        [
> > 2>            T=osgAnimation::StatsActionVisitor
> > 2>        ]
> > 2>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(96)
> > : see reference to class template instantiation 'osg::ref_ptr<T>' being
> > compiled
> > 2>        with
> > 2>        [
> > 2>            T=osgAnimation::StatsActionVisitor
> > 2>        ]
> > 2>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 2>Build log was saved at
> >
> "file://c:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\build\src\osgPlugins\osgAnimation\osgdb_osganimation.dir\Release\BuildLog.htm"
> > 2>Plugins osganimation - 2 error(s), 0 warning(s)
> > 3>------ Build started: Project: Examples osganimationtimeline,
> > Configuration: Release Win32 ------
> > 3>Compiling...
> > 3>osganimationtimeline.cpp
> > 3>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2027: use of undefined type 'osgAnimation::StatsActionVisitor'
> > 3>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(29)
> > : see declaration of 'osgAnimation::StatsActionVisitor'
> > 3>
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> > while compiling class template member function
> > 'osg::ref_ptr<T>::~ref_ptr(void)'
> > 3>        with
> > 3>        [
> > 3>            T=osgAnimation::StatsActionVisitor
> > 3>        ]
> > 3>
> >
>  C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osgAnimation/Timeline(96)
> > : see reference to class template instantiation 'osg::ref_ptr<T>' being
> > compiled
> > 3>        with
> > 3>        [
> > 3>            T=osgAnimation::StatsActionVisitor
> > 3>        ]
> > 3>C:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\include\osg/ref_ptr(33) :
> error
> > C2227: left of '->unref' must point to class/struct/union/generic type
> > 3>Build log was saved at
> >
> "file://c:\Dev\OpenSceneGraph-SVN\OpenSceneGraph\build\examples\osganimationtimeline\example_osganimationtimeline.dir\Release\BuildLog.htm"
> > 3>Examples osganimationtimeline - 2 error(s), 0 warning(s)
> > _______________________________________________
> > osg-users mailing list
> > [email protected]
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> >
> >
> _______________________________________________
> osg-users mailing list
> [email protected]
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>



-- 
Serge Lages
http://www.tharsis-software.com
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to