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

Reply via email to