hkBase.lib LNK2019 error: unresolved import symbol Container_base::Orphan_all

hkBase.lib LNK2019 error: unresolved import symbol Container_base::Orphan_all

Does anyone know how to resolve this linkage error? The method Container_base::Orphan_all() is not defined anywhere in the headers or as an importsymbol in any of the debug libraries.

hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

9 post / 0 nuovi
Ultimo contenuto
Per informazioni complete sulle ottimizzazioni del compilatore, consultare l'Avviso sull'ottimizzazione

Hey Michael,
_Orphan_all is a function in the debugging versions of the C++ runtimes in VC2005. Check your Visual Studio and the runtime libs you're using,
Ross

Hi,

I had the same issue compling the demo framework under debug multithreaded using Visual Studio Express 2008.

I was able to work around this by working in Release Multithreaded. For myself, I am planning on wrapping the bare minimum I need to include Havok in my XNA/C# so I hope this can tie me over until VS2008 / (Express???) lib support is available.

George

It looks like only "Debug Multithreaded DLL" produces this linking problem in VC2008.

"Debug Multithreaded", "Release Multithreaded", and "Release Multithreaded DLL" compiles and link fine with VC2008.

Hope this helps,

Erwin

Hi,

I'm having the same issue here, except that changing the runtime library doesn't change anything.
I only have extra linker errors when I switch to static libraries.

With /MD:

1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

With /MD /NODEFAULTLIB:msvcrtd.lib:

1>HavokManager.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: class hkpRigidBody * const & __thiscall std::vector >::operator[](unsigned int)const " (??A?$vector@PAVhkpRigidBody@@V?$allocator@PAVhkpRigidBody@@@std@@@std@@QBEABQAVhkpRigidBody@@I@Z)
1>OsgartManager.obj : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>StdAfx.obj : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>hkBase.lib(hkDebugMemory.obj) : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>Main.obj : error LNK2019: unresolved external symbol __imp___CrtSetDbgFlag referenced in function _main
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

With /MTd:

1>Linking...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ios >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in libcpmtd.lib(cerr.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) already defined in libcpmtd.lib(stdthrow.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::basic_string,class std::allocator >(class std::basic_string,class std::allocator > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in HavokManager.obj
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::~basic_string,class std::allocator >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in HavokManager.obj
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in libcpmtd.lib(xlock.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in libcpmtd.lib(xlock.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::basic_string,class std::allocator >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in HavokManager.obj
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _printf already defined in LIBCMTD.lib(printf.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: __thiscall std::exception::exception(void)" (??0exception@std@@QAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgfree.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __invalid_parameter already defined in LIBCMTD.lib(invarg.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __CrtDbgReportW already defined in LIBCMTD.lib(dbgrptw.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgmalloc.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __aligned_malloc already defined in LIBCMTD.lib(dbgheap.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __aligned_free already defined in LIBCMTD.lib(dbgheap.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fseek already defined in LIBCMTD.lib(fseek.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _ftell already defined in LIBCMTD.lib(ftell.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: ___iob_func already defined in LIBCMTD.lib(_file.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _vsprintf already defined in LIBCMTD.lib(vsprintf.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strtoul already defined in LIBCMTD.lib(strtol.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strrchr already defined in LIBCMTD.lib(strrchr.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strncmp already defined in LIBCMTD.lib(strncmp.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

Quoting - val51
Hi,

I'm having the same issue here, except that changing the runtime library doesn't change anything.
I only have extra linker errors when I switch to static libraries.

Hey val51,

I wasn't able to reproduce the errors which you are seeing. You should build using the "Debug Multithreaded" configuration from the drop menu in the solution we've provided. If this doesn't work, then perhaps you need to download a new copy of Havok.

Repost if you are still having trouble.

-Yoav

Hi All,

Just curious...has anyone had the opposite of this problem; multiple defined Container_Base::Orphan_all symbols? Linker errors like so:

msvcprtd.lib(MSVCP80D.dll): error LNK2005: "public: void __thiscallstd::_Container_base::_Orphan_all(void)const "(?_Orphan_all@_Container_base@std@@QBEXXZ) already defined in hkBase.lib(hkDebugMemory.obj)

Trying to track down how this could happen and wondering if anyone has bumped into it and, if they have, how they worked around it.

Thanks!
Jason

Quoting - val51
Hi,

I'm having the same issue here, except that changing the runtime library doesn't change anything.
I only have extra linker errors when I switch to static libraries.

With /MD:

1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

With /MD /NODEFAULTLIB:msvcrtd.lib:

1>HavokManager.obj : error LNK2019: unresolved external symbol __imp___CrtDbgReportW referenced in function "public: class hkpRigidBody * const & __thiscall std::vector >::operator[](unsigned int)const " (??A?$vector@PAVhkpRigidBody@@V?$allocator@PAVhkpRigidBody@@@std@@@std@@QBEABQAVhkpRigidBody@@I@Z)
1>OsgartManager.obj : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>StdAfx.obj : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>hkBase.lib(hkDebugMemory.obj) : error LNK2001: unresolved external symbol __imp___CrtDbgReportW
1>Main.obj : error LNK2019: unresolved external symbol __imp___CrtSetDbgFlag referenced in function _main
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

With /MTd:

1>Linking...
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: void __thiscall std::basic_ios >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in libcpmtd.lib(cerr.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) already defined in libcpmtd.lib(stdthrow.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::basic_string,class std::allocator >(class std::basic_string,class std::allocator > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in HavokManager.obj
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::~basic_string,class std::allocator >(void)" (??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in HavokManager.obj
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in libcpmtd.lib(xlock.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in libcpmtd.lib(xlock.obj)
1>msvcprtd.lib(MSVCP90D.dll) : error LNK2005: "public: __thiscall std::basic_string,class std::allocator >::basic_string,class std::allocator >(char const *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z) already defined in HavokManager.obj
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _printf already defined in LIBCMTD.lib(printf.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: __thiscall std::exception::exception(void)" (??0exception@std@@QAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: virtual __thiscall std::exception::~exception(void)" (??1exception@std@@UAE@XZ) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _free already defined in LIBCMTD.lib(dbgfree.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __invalid_parameter already defined in LIBCMTD.lib(invarg.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __CrtDbgReportW already defined in LIBCMTD.lib(dbgrptw.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _malloc already defined in LIBCMTD.lib(dbgmalloc.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: "public: __thiscall std::exception::exception(class std::exception const &)" (??0exception@std@@QAE@ABV01@@Z) already defined in LIBCMTD.lib(stdexcpt.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __aligned_malloc already defined in LIBCMTD.lib(dbgheap.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: __aligned_free already defined in LIBCMTD.lib(dbgheap.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fseek already defined in LIBCMTD.lib(fseek.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _ftell already defined in LIBCMTD.lib(ftell.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fclose already defined in LIBCMTD.lib(fclose.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fwrite already defined in LIBCMTD.lib(fwrite.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _fflush already defined in LIBCMTD.lib(fflush.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: ___iob_func already defined in LIBCMTD.lib(_file.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _vsprintf already defined in LIBCMTD.lib(vsprintf.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strtoul already defined in LIBCMTD.lib(strtol.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strchr already defined in LIBCMTD.lib(strchr.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strrchr already defined in LIBCMTD.lib(strrchr.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _memmove already defined in LIBCMTD.lib(memmove.obj)
1>MSVCRTD.lib(MSVCR90D.dll) : error LNK2005: _strncmp already defined in LIBCMTD.lib(strncmp.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>hkBase.lib(hkDebugMemory.obj) : error LNK2019: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::_Container_base::_Orphan_all(void)const " (__imp_?_Orphan_all@_Container_base@std@@QBEXXZ) referenced in function "public: virtual __thiscall hkStlDebugMemory::~hkStlDebugMemory(void)" (??1hkStlDebugMemory@@UAE@XZ)

Hi , same problem here , I want to create UI Based Application for NetBook and on Intel Website there is no any example or tutorial for the same. Please give me a help!.

Hi there pkhare018.hws

This is the support forum for Havok PcXs. While we are Intel-owned, this forum is only for questions relating to Havok PcXs. Unless your linker errors have something to do with our libraries, you should probably try a less-specialized forum or one closer to what you are trying to do.

If you are indeed using Havok, please be more specific about the type of linker errors you are getting, and with which libraries.

Patrick Developer Support Engineer Havok www.havok.com

Accedere per lasciare un commento.