Hello Eduardo,
The problem is that both the application osgviewerd.exe and the dll osgviewerd.dll are set up to generate the same pdb file. Consequently, the pdb for the exe overwrites the pdb for the dll. When I try to debug my code (my own viewer), it finds no symbols for osgviewerd.dll.
The pdb for the osgviewer library should be called osgXX-osgViewer.pdb (the lib is actually a DLL called osgXX-osgViewer.dll). Unless you're doing a static build, or have disabled the SO version prefixes. If the latter, please don't do that. They're there for your protection and don't cause any harm. If the former, then you're right, there should probably be some way of differentiating the two build products (from CMake's point of view) so that the two pdbs don't conflict.
Changing the project settings for osgviewerd.exe to make it generate a pdb with a different name, like osgviewerd-app.pdb, fixed it for me.
That's a good solution. The executable's filename doesn't need to change at all, which Robert would surely object to :-) You should probably make this change in the osgViewer application's CMakeLists.txt. It should be sufficient to just add an IF(WIN32) and add the compile / link option to specify a name for the pdb. Can you look into this?
Otherwise, whenever you regenerate the project from CMake your customized pdb name will be lost...
J-S -- ______________________________________________________ Jean-Sebastien Guay [email protected] http://www.cm-labs.com/ http://whitestar02.webhop.org/ _______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

