Hi, My OSG_MSVC_VERSIONED_DLL flag is on. My CMake is version 2.8.2. I'm using Visual Studio 2008, Windows 7. I did almost no changes to the default CMake configuration. I don't remember exactly what changes I did, but I think I just enabled it to build applications and examples. This is a mostly clean and default install of OSG 2.9.9. Maybe it happens to other people as well?
Thanks a lot for the help! Eduardo On Wed, Oct 13, 2010 at 7:46 PM, Jean-Sébastien Guay < [email protected]> wrote: > Hello Eduardo, > > > I'm not doing a static build, and I didn't intentionally disable SO >> version prefixes. However my dlls don't have prefixes, except some of >> them have the osgdb prefix. It's strange. For example, is it correct to >> have a osgdb_osgviewerd.dll file? How could I check the SO version >> prefix setting? >> > > OK a few questions in quick succession here. :-) > > Yes osgdb_osgviewerd.dll is normal, it is a plugin that loads osgViewer > configuration files. It's not the DLL for the osgViewer library itself, and > not related to the osgviewer application either (other than the fact that > the app can read the config files with the help of the plugin... sheesh, > this is convoluted sometimes :-) ) > > Your main OSG DLLs, such as for the osg, osgDB, osgGA, osgUtil, osgViewer > etc. libraries, should all have prefixes by default. For background > information, the prefixes are there so that an app will load the right OSG > DLL if multiple versions of OSG are on your system path. And if they had > been used you wouldn't ever have had the problem you mentioned :-) > > What version of Visual Studio are you building with? 2005, 2008, 2010? In > CMake, could you enable Advanced View, and then check the setting > "OSG_MSVC_VERSIONED_DLL". It should be enabled by default, and this is what > should add the prefixes. > > If this setting is not enabled by default for you, we should try to find > out why. Just enabling the setting will fix your problem for now, but others > may encounter it in the long run. This is the code in the root > CMakeLists.txt that enables this setting by default: > > IF(MSVC) > IF(${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4 > AND ${CMAKE_PATCH_VERSION} LESS 7) > # ... > ELSE() > OPTION(OSG_MSVC_VERSIONED_DLL "Set to ON to build OpenSceneGraph > with versioned dll names" ON) > MARK_AS_ADVANCED(OSG_MSVC_VERSIONED_DLL) > > So, you should fall into that else() - meaning that your compiler is MSVC, > and your CMake version should be greater than or equal to 2.4.7. Is that the > case? If you fall into the second IF(), then that disables the version > prefix. But CMake 2.4.6 and less is so old I doubt you have that... > > We'll investigate further once you've checked these first few things. > > Hope this helps, > > > 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 >
_______________________________________________ osg-users mailing list [email protected] http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

