NxOgre and Lnk4006

mkandula

09-09-2008 13:56:46

Hi,

I am just trying to create a simple app using NxOgre...one static lib project includes NxOgre and tries to intialize the world. I am getting the following lnk4006 warning.

Can you please let me know how to avoid this ??




Compiling...
GamePhysicsMain.cpp
Creating library...
GamePhysicsMain.obj : warning LNK4006: "public: void * __thiscall Betajaen::SharedAllocator::Allocate(unsigned int)" (?Allocate@SharedAllocator@Betajaen@@QAEPAXI@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedAllocator::Deallocate(void *)" (?Deallocate@SharedAllocator@Betajaen@@QAEXPAX@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void * __thiscall Betajaen::SharedAllocator::Reallocate(void *,unsigned int)" (?Reallocate@SharedAllocator@Betajaen@@QAEPAXPAXI@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::SharedAllocator & __thiscall Betajaen::SharedAllocator::operator=(class Betajaen::SharedAllocator const &)" (??4SharedAllocator@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList::`default constructor closure'(void)" (??_F?$SharedList@VWatchedPointer@Allocator@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList,class std::allocator > >,class Betajaen::SharedAllocator>::`default constructor closure'(void)" (??_F?$SharedList@V?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::SharedMap & __thiscall Betajaen::SharedMap::operator=(class Betajaen::SharedMap const &)" (??4?$SharedMap@IVShape@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList::`default constructor closure'(void)" (??_F?$SharedList@VShape@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList::`default constructor closure'(void)" (??_F?$SharedList@VContactCallback@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList::`default constructor closure'(void)" (??_F?$SharedList@VSimpleActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::SharedList::`default constructor closure'(void)" (??_F?$SharedList@UDelayedActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::PhysXParams::PhysXParams(void)" (??0PhysXParams@NxOgre@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::Params::Params(void)" (??0Params@NxOgre@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::Params::setToDefault(void)" (?setToDefault@Params@NxOgre@@UAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "protected: virtual void __thiscall NxOgre::Params::parse(class Betajaen::SharedList,class std::allocator > >,class Betajaen::SharedAllocator>)" (?parse@Params@NxOgre@@MAEXV?$SharedList@V?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::PhysXParams::PhysXSDKFlags::PhysXSDKFlags(void)" (??0PhysXSDKFlags@PhysXParams@NxOgre@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::PhysXParams::PhysXSDKFlags::toDefault(void)" (?toDefault@PhysXSDKFlags@PhysXParams@NxOgre@@UAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::Params::Flags::Flags(void)" (??0Flags@Params@NxOgre@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::Params::Flags::toDefault(void)" (?toDefault@Flags@Params@NxOgre@@UAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::Params::Flags::fromNxU32(unsigned int)" (?fromNxU32@Flags@Params@NxOgre@@UAEXI@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual unsigned int __thiscall NxOgre::Params::Flags::toNxU32(void)const " (?toNxU32@Flags@Params@NxOgre@@UBEIXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::Params::Flags::parse(class std::basic_string,class std::allocator > const &)" (?parse@Flags@Params@NxOgre@@UAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::SceneParams::SceneParams(char const *)" (??0SceneParams@NxOgre@@QAE@PBD@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::SceneParams::SceneFlags::SceneFlags(void)" (??0SceneFlags@SceneParams@NxOgre@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: virtual void __thiscall NxOgre::SceneParams::SceneFlags::toDefault(void)" (?toDefault@SceneFlags@SceneParams@NxOgre@@UAEXXZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::PhysXParams::PhysXParams(class NxOgre::PhysXParams const &)" (??0PhysXParams@NxOgre@@QAE@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::Params::Params(class NxOgre::Params const &)" (??0Params@NxOgre@@QAE@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::PhysXParams::PhysXSDKFlags::PhysXSDKFlags(struct NxOgre::PhysXParams::PhysXSDKFlags const &)" (??0PhysXSDKFlags@PhysXParams@NxOgre@@QAE@ABU012@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall NxOgre::Params::Flags::Flags(struct NxOgre::Params::Flags const &)" (??0Flags@Params@NxOgre@@QAE@ABU012@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList::SharedList(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@VWatchedPointer@Allocator@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList,class std::allocator > >,class Betajaen::SharedAllocator>::SharedList,class std::allocator > >,class Betajaen::SharedAllocator>(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@V?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList,class std::allocator > >,class Betajaen::SharedAllocator>::~SharedList,class std::allocator > >,class Betajaen::SharedAllocator>(void)" (??1?$SharedList@V?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Vector3::Vector3(float,float,float)" (??0?$Vector3@M@Betajaen@@QAE@MMM@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Vector4::Vector4(float,float,float,float)" (??0?$Vector4@M@Betajaen@@QAE@MMMM@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList::SharedList(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@VShape@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList::SharedList(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@VContactCallback@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList::SharedList(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@VSimpleActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::SharedList::SharedList(class Betajaen::SharedAllocator *,bool)" (??0?$SharedList@UDelayedActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat & __thiscall Betajaen::Flat::operator=(class Betajaen::Flat const &)" (??4?$Flat@PAVWatchedPointer@Allocator@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator> & __thiscall Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator>::operator=(class Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator> const &)" (??4?$Flat@PAV?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat & __thiscall Betajaen::Flat::operator=(class Betajaen::Flat const &)" (??4?$Flat@PAVShape@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat & __thiscall Betajaen::Flat::operator=(class Betajaen::Flat const &)" (??4?$Flat@PAVContactCallback@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat & __thiscall Betajaen::Flat::operator=(class Betajaen::Flat const &)" (??4?$Flat@PAVSimpleActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: class Betajaen::Flat & __thiscall Betajaen::Flat::operator=(class Betajaen::Flat const &)" (??4?$Flat@PAUDelayedActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAEAAV01@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat::Flat(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAVWatchedPointer@Allocator@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator>::Flat,class std::allocator > > *,class Betajaen::SharedAllocator>(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAV?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator>::~Flat,class std::allocator > > *,class Betajaen::SharedAllocator>(void)" (??1?$Flat@PAV?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: void __thiscall Betajaen::Flat,class std::allocator > > *,class Betajaen::SharedAllocator>::_delete_range(class Betajaen::Vector2,class std::allocator > > * *,class Betajaen::Vector2,class std::allocator > > * *)" (?_delete_range@?$Flat@PAV?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@VSharedAllocator@2@@Betajaen@@QAEXPAPAV?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@0@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat::Flat(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAVShape@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat::Flat(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAVContactCallback@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat::Flat(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAVSimpleActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Flat::Flat(class Betajaen::SharedAllocator *,bool)" (??0?$Flat@PAUDelayedActor@NxOgre@@VSharedAllocator@Betajaen@@@Betajaen@@QAE@PAVSharedAllocator@1@_N@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Vector2,class std::allocator > >::~Vector2,class std::allocator > >(void)" (??1?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@QAE@XZ) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored
GamePhysicsMain.obj : warning LNK4006: "public: __thiscall Betajaen::Vector2,class std::allocator > >::Vector2,class std::allocator > >(class Betajaen::Vector2,class std::allocator > > const &)" (??0?$Vector2@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Betajaen@@QAE@ABV01@@Z) already defined in NxOgre_d.lib(NxOgre_d.dll); second definition ignored

KevinMulder

09-09-2008 14:04:27

It seems that You link the same lib (nxogre_d.lib) twice to the project. (hence "already defined").

can we have the GamePhysicsMain.h header?

mkandula

09-09-2008 17:58:52

damn...sorry for my lack of VC8 knowledge.

I always presumed that I can include the dependent libs in the static lib project and not bother it in the .exe project. THats what caused this problem. I changed the lib dependency (NxOgre.lib) into the .exe project and this solved the lnk4006 problem.....

thanks for the help.