Hello opensg-users, I want to report a bug and potential fix which I encountered when trying to build OpenSG 1.8 CVS using MSVC9 (Visual Studio 2008 Express).
The problem is with the explicit template instantiations for the output operators which are done via the preprocessor macros OSG_POINT_OUTPUT_OP_INST and OSG_VECTOR_OUTPUT_OP_INST in OSGVector.cpp. I guess the way template code is instantiated has somehow changed from vc8 to vc9. What I get are multiply defined symbols. At every place where the streaming operators are used (e.g. the dump routines of BoxVolume, CylinderVolume, ...) I get an "already defined here" when linking the OSGVector.obj. A quick and dirty fix for me was to brace the template instantiations in OSGVector.cpp with a #ifndef WIN32. I know that's no clean solution, but omitting them makes the code compile. Maybe you can come up with a cleaner solution, like differing between MS compiler versions, or maybe including the declarations of the operators defined in OSGVector.cpp everywhere they are used. Thanks, Patric ------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf _______________________________________________ Opensg-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensg-users
