Hi Robert,

My inclination right now is to disable C4251, C4275 and C4244 and keep
them in the include/osg/Export header, and then address the rest of
the warnings.

I thought the conclusion was to put the warning disable flags as compile-time options (in CFLAGS/CXXFLAGS) instead of in osg/Export, since then they would apply to user code too?

Thoughts, suggestions?

About C4244, I have no preference, if you don't want to add casts then go ahead and disable the warning.

About C4251 and C4275, couldn't this indicate that users would have problems when deriving classes from those classes? I think they essentially mean that there are missing OSG_EXPORT directives which are not necessary for direct OSG usage, but which could matter if the user were to derive classes. But I could be wrong.

So I wonder if just adding a few extra OSG_EXPORT directives would remove these, especially if the warning comes up whenever ref_ptr is included... Or perhaps it could be disabled only for the ref_ptr header using push at the top and pop at the bottom (because we don't expect anyone to want to derive classes from ref_ptr, and the missing OSG_EXPORT never caused a problem before)?

#pragma warning( push )
#pragma warning( disable : 4251 )
#pragma warning( disable : 4275 )

// the rest of the ref_ptr header

#pragma warning( pop )

But other cases could be fixed by adding OSG_EXPORT where needed...

J-S
--
______________________________________________________
Jean-Sebastien Guay    jean-sebastien.g...@cm-labs.com
                               http://www.cm-labs.com/
                        http://whitestar02.webhop.org/
_______________________________________________
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to