[osg-users] Fix for Windows version pfb plugin
Here is the corrected CMakeLists.txt file for the Windows XP VisualStudio 8 SP1 version of 'Plug 3d pfb' Performer plugin. INCLUDE_DIRECTORIES( ${PERFORMER_INCLUDE_DIR} ) SET(TARGET_SRC ReaderWriterPFB.cpp ConvertFromPerformer.cpp ) SET(TARGET_H ConvertFromPerformer.h ) IF(MSVC) SET(TARGET_EXTERNAL_LIBRARIES libpfdu-util ) ELSE(MSVC) SET(TARGET_EXTERNAL_LIBRARIES pfdu pfutil ) ENDIF(MSVC) SET(TARGET_LIBRARIES_VARS PERFORMER_LIBRARY ) end var setup ### SETUP_PLUGIN(pfb) B.t.w. These lines in the CMakeLists.txt file for the 'Plug other qt' quicktime plugin doesn't do anything. IF(WIN32) SET(CMAKE_SHARED_LINKER_FLAGS_DEBUG ${CMAKE_SHARED_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:MSVCRT) ENDIF(WIN32) I.e. /NODEFAULTLIB:MSVCRT doesn't show up in the generated vcproj files. Poking around a little shows me some lines in the 'Plug image gif' CMakeLists.txt file like: IF(MSVC) SET_TARGET_PROPERTIES(${TARGET_DEFAULT_PREFIX}${TARGET_NAME} PROPERTIES LINK_FLAGS_DEBUG /NODEFAULTLIB:MSVCRT) ENDIF(MSVC) Which do add the /NODEFAULTLIB:MSVCRT to the build settings but does it in an obscure way by putting it in Additional options of the Command Line page of the Property pages for that project (http://www.cs.utexas.edu/~jss/OSG/bug1.jpg) instead of in the 'Ignore Specific Library' line of the Input page of the Property pages for that project (http://www.cs.utexas.edu/~jss/OSG/bug2.JPG). I don't know how to tell CMake to put the NODEFAULTLIB in the 'Ignore Specific Library' line. Does anyone? If you modify this slightly ... IF(MSVC) SET_TARGET_PROPERTIES(${TARGET_DEFAULT_PREFIX}${TARGET_NAME} PROPERTIES LINK_FLAGS_DEBUG /NODEFAULTLIB:LIBCMT) ENDIF(MSVC) ... and replace the IF(WIN32) lines described above for the Quicktime CMakelists.txt then 'Plug other qt' will link on windows without warning. John. ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
Re: [osg-users] Compiling Samples through Visual Studio 2005
This can happen if the 'manifest' resource is corrupted. Visual Studio 2005 uses the new Side-by-Side dll versioning scheme of Windows XP and it installs these dll's in C:\WINDOWS\WinSxS\x86_Microsoft.VC80.DebugCRTversion directories. During the link and post link stage a manifest file is built and embedded in the .exe file which tells the new dll loader where to find the MSVCP80d.dll file. It is a BIG mistake to copy these dll files into the 3rd party directory as this will bypass the Side-by-Side technology and cause you to reenter 'dll-hell'. I've noticed that Devstudio 2005 will occassionaly mess up these manifest resources. You should upgrade to Visual Studio 2005 Service Pack 1 as that seems to fix the problem. J. - Original Message - From: Harash Sharma To: osg-users@openscenegraph.net Sent: Tuesday, April 03, 2007 11:14 AM Subject: [osg-users] Compiling Samples through Visual Studio 2005 Dear Robert, I was compiling the Downloaded OSG Source using Visual Studio 2005. All the projects (except 3) compiled successfully. But when I am trying to run some of the examples given, they are giving a runtime error due to non availability of MSVCR80D.dll. The downloaded 3rdParty dependency files do not include this file either. Only MSVCR71.dll and MSVCP80.dll are available. Can you please suggest on the necessary action. Thanks Harash -- Never miss an email again! Yahoo! Toolbar alerts you the instant new Mail arrives. Check it out. -- ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
Re: [osg-users] build break...
Yes, that would definitely work. The other alternative which is cleaner is to detect when I'm invoking a virtual method defined in a base class and generate code that casts the object pointer to the base class type before invoking the method. I've got sufficient type information to do that, it's just a matter of putting in the effort to implement it... -Mike Speaking strictly as a C++ guy wouldn't what you're proposing be a giant no-op? Isn't the whole point of virtual methods to give you the ability to call derived class methods when using a base class 'this' pointer? So wouldn't casting from a derived type 'this' pointer to a base type 'this' pointer and then calling a virtual method be the same as just using the derived type? J. ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[osg-users] SVN osgWrapper VS2005 warnings
Ok, I know that these 'wrapper' things are created by some kind of code generator program so I can't just fix the code. The fix has to go into the code generator. I saw some messages recently that made me think this area was being worked on. So here are the warning messages, hope this helps: 151-- Build started: Project: osgWrapper osg, Configuration: Debug Win32 -- 151FragmentProgram.cpp 151c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/Value(357) : warning C4180: qualifier applied to function type has no meaning; ignored 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(42) : see reference to function template instantiation 'osgIntrospection::Value::Valueosg::FBOExtensions::TglBindRenderbufferEXT(T (__stdcall *))' being compiled 151with 151[ 151T=osg::FBOExtensions::TglBindRenderbufferEXT 151] 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(41) : while compiling class template member function 'osgIntrospection::Value osgIntrospection::PublicMemberAccessorC,P::get(osgIntrospection::Value ) const' 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglBindRenderbufferEXT (__stdcall *) 151] 151..\..\..\src\osgWrappers\osg\FrameBufferObject.cpp(75) : see reference to class template instantiation 'osgIntrospection::PublicMemberAccessorC,P' being compiled 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglBindRenderbufferEXT (__stdcall *) 151] 151c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/Value(357) : warning C4180: qualifier applied to function type has no meaning; ignored 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(42) : see reference to function template instantiation 'osgIntrospection::Value::Valueosg::FBOExtensions::TglGenRenderbuffersEXT(T (__stdcall *))' being compiled 151with 151[ 151T=osg::FBOExtensions::TglGenRenderbuffersEXT 151] 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(41) : while compiling class template member function 'osgIntrospection::Value osgIntrospection::PublicMemberAccessorC,P::get(osgIntrospection::Value ) const' 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglGenRenderbuffersEXT (__stdcall *) 151] 151..\..\..\src\osgWrappers\osg\FrameBufferObject.cpp(76) : see reference to class template instantiation 'osgIntrospection::PublicMemberAccessorC,P' being compiled 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglGenRenderbuffersEXT (__stdcall *) 151] 151c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/Value(357) : warning C4180: qualifier applied to function type has no meaning; ignored 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(42) : see reference to function template instantiation 'osgIntrospection::Value::Valueosg::FBOExtensions::TglDeleteRenderbuffersEXT(T (__stdcall *))' being compiled 151with 151[ 151T=osg::FBOExtensions::TglDeleteRenderbuffersEXT 151] 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(41) : while compiling class template member function 'osgIntrospection::Value osgIntrospection::PublicMemberAccessorC,P::get(osgIntrospection::Value ) const' 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglDeleteRenderbuffersEXT (__stdcall *) 151] 151..\..\..\src\osgWrappers\osg\FrameBufferObject.cpp(77) : see reference to class template instantiation 'osgIntrospection::PublicMemberAccessorC,P' being compiled 151with 151[ 151C=osg::FBOExtensions, 151P=osg::FBOExtensions::TglDeleteRenderbuffersEXT (__stdcall *) 151] 151c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/Value(357) : warning C4180: qualifier applied to function type has no meaning; ignored 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(42) : see reference to function template instantiation 'osgIntrospection::Value::Valueosg::FBOExtensions::TglRenderbufferStorageEXT(T (__stdcall *))' being compiled 151with 151[ 151T=osg::FBOExtensions::TglRenderbufferStorageEXT 151] 151 c:\Projects\OpenSceneGraph-SVN\OpenSceneGraph\include\osgIntrospection/PublicMemberAccessor(41) : while compiling class template member function 'osgIntrospection::Value
RE: [osg-users] SVN .dsp problems
Regarding the compilation errors, the VS6 build was a casualty of the VS2005 64 bit support. See this thread for details: http://openscenegraph.org/archiver/osg-users/2006-September/0217.html If you follow the thread to the end I posted a script which undoes the 64 bit changes and leaves the .dsp files buildable with VS 6. This makes no sense to me ... .dsp/.dsw files are VS6 files. Why would anyone create versions of these files that don't work with VS6? If building with VS6 is no longer supported then we should move to .vcproj/.sln files ... right? J. ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[osg-users] OSG - Microsoft philosophical differences
Got a build warning here ... It looks like Microsoft has a philosophical problem with people using the xsgetn() method. Maybe we should add the _SCL_SECURE_NO_WARNINGS define to the build settings for this project. What do you think? J. -- Build started: Project: osgPlugin net, Configuration: Release Win32 -- Compiling... sockstream.cpp c:\projects\openscenegraph-svn\openscenegraph\src\osgplugins\net\sockstream.h(324) : warning C4996: 'std::basic_streambuf_Elem,_Traits::xsgetn': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' with [ _Elem=char, _Traits=std::char_traitschar ] C:\Program Files\Microsoft Visual Studio 8\VC\include\streambuf(324) : see declaration of 'std::basic_streambuf_Elem,_Traits::xsgetn' with [ _Elem=char, _Traits=std::char_traitschar ]___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[osg-users] SVN .dsp problems
F.Y.I., I just got the 'trunk' version out of SVN and double-clicking the OpenSceneGraph\VisualStudio\OpenSceneGraph.dsw file generates these errors in DevStudio6, SP6. www.cs.utexas.edu/~jss/OSG/error1.jpg www.cs.utexas.edu/~jss/OSG/error2.jpg www.cs.utexas.edu/~jss/OSG/error3.jpg Double-clicking the OpenThreads\win32_src\OpenThreads.dsw generates these erros in DevStudio6, SP6 Configuration: OpenThreads - Win32 Debug Compiling... Command line warning D4028 : minimal rebuild failure, reverting to normal build WIN32Condition.cpp c:\projects\openscenegraph-svn\openthreads\win32_src\win32condition.cpp(0) : fatal error C1033: cannot open program database '\\vc60.pdb' Win32Mutex.cpp c:\projects\openscenegraph-svn\openthreads\win32_src\win32mutex.cpp(0) : fatal error C1033: cannot open program database '\\vc60.pdb' Win32Thread.cpp c:\projects\openscenegraph-svn\openthreads\win32_src\win32thread.cpp(0) : fatal error C1033: cannot open program database '\\vc60.pdb' Win32ThreadBarrier.cpp c:\projects\openscenegraph-svn\openthreads\win32_src\win32threadbarrier.cpp(0) : fatal error C1033: cannot open program database '\\vc60.pdb' Error executing cl.exe. OpenThreadsWin32d.dll - 4 error(s), 1 warning(s) The following environment variables were not found $(PlatformName) $(ConfigurationName) J.___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
Re: [osg-users] What do you want for the osgviewer example
I don't understand. If you're going to keep the Producer features and file format then why not just keep Producer as well? Or, What the problem with Producer? J. - Original Message - From: Robert Osfield [EMAIL PROTECTED] To: osg users osg-users@openscenegraph.net Sent: Thursday, January 11, 2007 3:00 PM Subject: Re: [osg-users] What do you want for the osgviewer example Hi Serge, On 1/11/07, Serge Lages [EMAIL PROTECTED] wrote: For the configuration files, do you plan to use another syntax than Producer, like Xml files ? Because I thing that it would be great to have it in Xml with definitions files (.xsd) to easily create and edit them. I will probably stick with the same style of syntax as .osg files and use the same parsers. The .osg if more human readable than .xml, and doesn't require external libraries to read and write it. I'm most probably just have a osgViewer plugin. I am contemplating allowing scene graph elements to be saved along with the viewer configuration file, the use of this is to allow us to experiment with distortion correction using standard osg::StateSet osg::Geometry. I This doesn't preclude others implementing their own XML formats for serializing the scene graph or viewer configurations. Robert. ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/ ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/
[osg-users] CVS tags vs release mapping?
Hi, I'd like to checkout the source for OpenSceneGraph, OpenThreads, and Producer latest release 1.2 from the CVS server but I don't know what CVS tag corresponds to that release. Right now I'm using the Producer_OpenSceneGraph_BranchPoint tag simply because it is the latest one. Is this right? Is there a cvs-tag - release mapping anywhere? Thanks, John. P.S. The HEAD version didn't work for me because of some run-time errors like: Win32WindowingSystemInterface::getNumScreens() Please implement me! ___ osg-users mailing list osg-users@openscenegraph.net http://openscenegraph.net/mailman/listinfo/osg-users http://www.openscenegraph.org/