Hi,

their seems to be an interference between

- OSGQBit.h (line 32)
template <>
struct FieldDataTraits1<QBit> : 
    public FieldTraitsIntegralRecurseMapper<QBit>

and 

- OSGSysFieldDataType.h (line 235)
template <>
struct OSG_BASE_DLLMAPPING FieldDataTraits<UInt8> :
    public FieldTraitsIntegralRecurseMapper<UInt8>

The problem only occurs when trying to link the debug version of OpenSG1.8. The 
release version links fine. 
I have no clue, but I guess vs2010 has some default linker settings (that are 
different to the default settings in vs2005) when applying the /DEBUG flag...

I fixed the link problem by introducing I new struct called 
FieldTraitsIntegralRecurseMapper1, but I have no idea if this solution is 
correct and smart. Patch is attached.

May someone please have a look?

Thanks,
Michael


-------- Original-Nachricht --------
> Datum: Mon, 06 Aug 2012 17:08:46 +0200
> Von: "Michael Raab" <michael-r...@gmx.de>
> An: opensg-users@lists.sourceforge.net
> Betreff: [Opensg-users] OpenSG1.8 - Building with vs2010

> Hi,
> 
> has someone ever tried to build OpenSG 1.8 with Visual Studio 2010?
> I tried today but get a linker error with trying to link OSGBaseD.dll to
> OSGSystemD.dll. The error looks as follows:
> 
> Fehler        17601   error LNK1169: Mindestens ein mehrfach definiertes 
> Symbol
> gefunden.     K:\Dev\OpenSG1.8_BuildEnv\VS10\lib\win32\dbg\OSGSystemD.dll     
> 1
> Fehler        17598   error LNK2005: "public: static unsigned int __cdecl
> osg::FieldTraitsIntegralRecurseMapper<unsigned char>::getBinSize(unsigned 
> char const
> &)" (?getBinSize@?$FieldTraitsIntegralRecurseMapper@E@osg@@SAIABE@Z) ist
> bereits in OSGQBit.obj
> definiert.    
> K:\Dev\OpenSG1.8_BuildEnv\VS10\SystemLib\OSGBaseD.lib(OSGBaseD.dll)
> Fehler        17600   error LNK2005: "public: static void __cdecl
> osg::FieldTraitsIntegralRecurseMapper<unsigned char>::copyFromBin(class
> osg::BinaryDataHandler &,unsigned char &)"
> (?copyFromBin@?$FieldTraitsIntegralRecurseMapper@E@osg@@SAXAAVBinaryDataHandler@2@AAE@Z)
>  ist bereits in OSGQBit.obj
> definiert.    
> K:\Dev\OpenSG1.8_BuildEnv\VS10\SystemLib\OSGBaseD.lib(OSGBaseD.dll)
> Fehler        17599   error LNK2005: "public: static void __cdecl
> osg::FieldTraitsIntegralRecurseMapper<unsigned char>::copyToBin(class 
> osg::BinaryDataHandler
> &,unsigned char const &)"
> (?copyToBin@?$FieldTraitsIntegralRecurseMapper@E@osg@@SAXAAVBinaryDataHandler@2@ABE@Z)
>  ist bereits in OSGQBit.obj
> definiert.    
> K:\Dev\OpenSG1.8_BuildEnv\VS10\SystemLib\OSGBaseD.lib(OSGBaseD.dll)
> 
> Sorry for the german error messages. The problem seems to be a multiple
> defined symbol..
> Ideas?
> 
> Best regards,
> Michael
> 
> ------------------------------------------------------------------------------
> Live Security Virtual Conference
> Exclusive live event will cover all the ways today's security and 
> threat landscape has changed and how IT managers can respond. Discussions 
> will include endpoint security, mobile security and the latest in malware 
> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
> _______________________________________________
> Opensg-users mailing list
> Opensg-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/opensg-users

Attachment: qbit.patch
Description: Binary data

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Opensg-users mailing list
Opensg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to