T_T ...Going to hang myself...
Not even an idea of a workaround that would be a bit less ugly? Well, if this 
is the only way...
Thanks, anyway! ;)

Sukender
PVLE - Lightweight cross-platform game engine - http://pvle.sourceforge.net/

----- "Frederic Bouvier" <[email protected]> a écrit :

> Hi Sukender,
> 
> Add /FORCE:MULTIPLE to your link options
> 
> -Fred
> 
> ----- "Sukender" a écrit :
> 
> > Hi all,
> >
> > Any update on this side? I've got the same issue (I use fstream in
> my
> > project which depends on osgDB, under VC2010 x64).
> > Or is there a way to temporarily workaround this in OSG with an ugly
> > #ifdef?
> >
> > Sukender
> > PVLE - Lightweight cross-platform game engine -
> > http://pvle.sourceforge.net/
> >
> > ----- "Anders Backman" <[email protected]> a écrit :
> >
> > > Ok, I have localized the problem.
> > >
> > >
> > > For example, the class osgDB::fstream:
> > >
> > >
> > >
> > > class OSGDB_EXPORT fstream : public std::fstream
> > > {
> > >
> > >
> > > };
> > >
> > >
> > > which just inherits from std:.fstream causes the symbols of
> > > std::fstream to be exposed into osgDB.dll
> > >
> > >
> > > This effectively means that It might cause problems for people
> > linking
> > > against osgDB.dll later on.
> > > Same goes for inheriting from std::string, std::ostringstream etc.
> > >
> > >
> > > This must obviously be a bug, a very serious one in VS2010.
> > > We had a class derived from std::ostringstream, which exposed the
> > > symbols in the vtable for the class:
> > >
> > >
> > > namespace ns
> > > {
> > > class Notify : public std::ostringstream
> > > {
> > > };
> > > }
> > >
> > >
> > > Using depends.exe to analyze the dll-file gives:
> > >
> > >
> > > const ns::Notify::`vftable'{for
> > `std::basic_ostringstream<char,struct
> > > std::char_traits<char>,class std::allocator<char> >'}
> > >
> > >
> > > My issue was reported to the msdn forum. Their first take was: Oh
> > you
> > > use CMake, thats not our product :-)
> > > But in later threads, they tried to reproduce the problem without
> > > luck...
> > > So if you manage to reproduce this in a small example, go ahead
> and
> > > post it. We must make them aware of this problem.
> > >
> > >
> > >
> >
> http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/191de00a-53c9-4bd9-9cb6-e844eb224ca2
> > >
> > >
> > > /Anders
> > >
> > > On Mon, Aug 30, 2010 at 4:31 AM, Christiansen, Brad <
> > > [email protected] > wrote:
> > >
> > >
> > >
> > >
> > >
> > >
> > > Hi,
> > >
> > >
> > >
> > > Unfortunately I can't offer a solution, but I thought I would
> > mention
> > > I have come across this exact problem and have also pulled my hair
> > out
> > > trying to find a solution. This same problem exists when building
> > > virtual planet builder, linking with osgDB causes the multiply
> > defined
> > > symbols. I had no other issues building the 3rd party libs and osg
> > > with 2010.
> > >
> > >
> > >
> > > The only way I could move forward was to allow multiply defined
> > > symbols (as has already been mentioned). I agree this seems
> > dangerous
> > > and is not a solution but it has allowed me to continue working.
> So
> > > far it hasn’t caused any issues with my vpb build.
> > >
> > >
> > >
> > > Given you have used the streams extensively without issue and it
> > seems
> > > osgDB is the source of the trouble, have you had a look to see if
> > > there is any discernable difference between your code and that in
> > > osgDB ?
> > >
> > >
> > >
> > > I would love to find a solution to this.
> > >
> > >
> > >
> > > Cheers,
> > >
> > > Brad
> > >
> > >
> > >
> > >
> > > From: [email protected] [mailto:
> > > [email protected] ] On Behalf Of Anders
> > > Backman
> > > Sent: Friday, 27 August 2010 4:00 PM
> > > To: OpenSceneGraph Users
> > > Subject: Re: [osg-users] OT: VS2010 LNK2005 problem related to
> > > ostringstream
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > I have verified the build mode for all ingoing libraries.
> > >
> > >
> > >
> > >
> > >
> > > I build all the dependencies myself. Including OSG.
> > >
> > >
> > >
> > >
> > >
> > > The problem I have (which is OSG related), is that if I build
> > without
> > > OSG support (no rendering), it all works.
> > >
> > >
> > > And I still use std::ostringstream and std::stringstream quite
> > > extensively...
> > >
> > >
> > > We still link against OpenThreads (but no rendering).
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > So only when I link against osg (osg.lib, osgDB.lib, osgText.lib,
> > > osgShadow.lib, osgViewer.lib osgGA.lib) I get this problem.
> > >
> > >
> > >
> > >
> > >
> > > I have verified that osg (and OpenThreads) are all built
> > consistently
> > > all over the field. Release and /MD (MultiThreadedDLL), which is
> > > default from CMake.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > So I can use/link against OpenThreads.lib, but not OSG...
> > >
> > >
> > >
> > >
> > >
> > > Rather nasty problem, I'm trying to reduce it, but I'm getting
> > > nowhere.
> > >
> > >
> > > And once again, same settings, same CMake version, same code all
> > over
> > > the place, and it works in VS2008...
> > >
> > >
> > >
> > >
> > >
> > > /A
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Aug 26, 2010 at 8:17 PM, Simon Hammett <
> > > [email protected] > wrote:
> > >
> > > Ah ok, then next things to check:
> > >
> > > Make absolutely sure you aren't mixing up objects & libraries from
> > the
> > > different builds.
> > > For my projects I include a vc version number in the name, so
> > > .vc7.lib/vc7.dll & .vc9.lib/.vc9.dll
> > > and I also use the vc version in the name of output & intermediate
> > > directory
> > >
> > > Then check all the code for any use of
> > >
> > > #pragma comment(lib, "libname")
> > >
> > > and make sure any preprocessor guards that select different
> versions
> > > have been updated to know about vc2010.
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > >
> > > On 26 August 2010 18:37, Anders Backman < [email protected] >
> wrote:
> > >
> > > Well, I have verified that ALL the dependencies Im using are all
> > built
> > > with /MD and NOT debug.
> > >
> > >
> > > Im building all of the dependencies for osg and our lib myself, so
> I
> > > got full control.
> > >
> > >
> > >
> > >
> > >
> > > Also, as I wrote before, I have even tried to build our libs using
> > > project files generated from cmake > vs2008, build with vs2008 ->
> > > works ok.
> > >
> > >
> > > Open same project files in vs2010 -> problem occurs.
> > >
> > >
> > > Im using buildscripts to build dependencies, and it all works for
> > > vs2008...
> > >
> > >
> > > No external libraries, everything is built from code.
> > >
> > >
> > >
> > >
> > >
> > > For VS2010, all the dependencies (including osg 2.8.3)
> builds/links
> > > fine.
> > >
> > >
> > > But for my libs, I get the linking errors.
> > >
> > >
> > >
> > >
> > >
> > > Allowing multiple symbols sounds dangerous, and it did not resolve
> > my
> > > problem...
> > >
> > >
> > >
> > >
> > >
> > > /A
> > >
> > >
> > >
> > >
> > >
> > > On Thu, Aug 26, 2010 at 7:26 PM, Simon Hammett <
> > > [email protected] > wrote:
> > >
> > >
> > >
> > >
> > > On 26 August 2010 17:35, Anders Backman < [email protected] >
> wrote:
> > >
> > > <snip>
> > >
> > >
> > >
> > >
> > >
> > >
> > > CMake defaults to /MD code generation (MultiThreaded). Im using
> this
> > > consistently over all my libraries (just double checked to be
> sure).
> > >
> > >
> > > Never use that setting unless you know what you are doing.
> > >
> > > Change every project to
> > >
> > > Multi-threaded Debug DLL (/MDd) for Debug builds and
> > > Multi-threaded DLL (/MD) for Release builds
> > >
> > > And it will all start working.
> > >
> > > Those Runtime library settings are the number one 'gotch-ya' for
> > > Visual studio, and Cmake defaulting to them is daft.
> > >
> > > --
> > > http://www.ssTk.co.uk
> > >
> > > _______________________________________________
> > > 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
> > >
> > >
> > >
> > >
> > > --
> > > http://www.ssTk.co.uk
> > >
> > >
> > > _______________________________________________
> > > osg-users mailing list
> > > [email protected]
> > >
> >
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
> > >
> > >
> > >
> > >
> >
> DISCLAIMER:---------------------------------------------------------------------------
> > > This e-mail transmission and any documents, files and previous
> > e-mail
> > > messages attached to it are private and confidential. They may
> > contain
> > > proprietary or copyright material or information that is subject
> to
> > > legal professional privilege. They are for the use of the intended
> > > recipient only. Any unauthorised viewing, use, disclosure,
> copying,
> > > alteration, storage or distribution of, or reliance on, this
> message
> > > is strictly prohibited. No part may be reproduced, adapted or
> > > transmitted without the written permission of the owner. If you
> have
> > > received this transmission in error, or are not an authorised
> > > recipient, please immediately notify the sender by return email,
> > > delete this message and all copies from your e-mail system, and
> > > destroy any printed copies. Receipt by anyone other than the
> > intended
> > > recipient should not be deemed a waiver of any privilege or
> > > protection. Thales Australia does not warrant or represent that
> this
> > > e-mail or any documents, files and previous e-mail messages
> attached
> > > are error or virus free.
> > >
> >
> --------------------------------------------------------------------------------------
> > > _______________________________________________
> > > 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
> > _______________________________________________
> > 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
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to