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

Reply via email to