Help with .lib for STD::COUT
-
Hi While trying to get a better understanding of my exceptions I down loaded the demo "
Quote:
How a C++ compiler implements exception handling
Well first I feel very good the I spent $700 to get the intel C/C++ compiler the demo had inline asm code and the Microsoft compiler only supports thunder 32 bit code but intel supports _asm with X64 I changed the "E" register to "R" Was able to build everything until the demo I got a number of externs I paste just one example but I am sire they are all related to cout
Quote:
error LNK2019: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) referenced in function "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) 1>MyExcHandler.lib(myexchandler.obj) : error LNK2001: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z)
doing research seems the .lib msvcprtd or msvcprt.lib for release ( did a dumpbin on the lib) I included in my library directories however I am still getting externals
-
Hi While trying to get a better understanding of my exceptions I down loaded the demo "
Quote:
How a C++ compiler implements exception handling
Well first I feel very good the I spent $700 to get the intel C/C++ compiler the demo had inline asm code and the Microsoft compiler only supports thunder 32 bit code but intel supports _asm with X64 I changed the "E" register to "R" Was able to build everything until the demo I got a number of externs I paste just one example but I am sire they are all related to cout
Quote:
error LNK2019: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) referenced in function "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) 1>MyExcHandler.lib(myexchandler.obj) : error LNK2001: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z)
doing research seems the .lib msvcprtd or msvcprt.lib for release ( did a dumpbin on the lib) I included in my library directories however I am still getting externals
If these externals are related to std::cout then they should automatically get resolved by the STL libraries, which generally get automatically included in your project. However, since you are using the Intel compiler, it may be that you need to include some extra libraries that Intel provides.
-
Hi While trying to get a better understanding of my exceptions I down loaded the demo "
Quote:
How a C++ compiler implements exception handling
Well first I feel very good the I spent $700 to get the intel C/C++ compiler the demo had inline asm code and the Microsoft compiler only supports thunder 32 bit code but intel supports _asm with X64 I changed the "E" register to "R" Was able to build everything until the demo I got a number of externs I paste just one example but I am sire they are all related to cout
Quote:
error LNK2019: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) referenced in function "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) 1>MyExcHandler.lib(myexchandler.obj) : error LNK2001: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z)
doing research seems the .lib msvcprtd or msvcprt.lib for release ( did a dumpbin on the lib) I included in my library directories however I am still getting externals
Are you absolutely sure you did the Linker >> Input >> Additional Dependencies right? That looks suspiciously like what it is telling you or it's static versus dynamic linking but that usually presents slightly different.
In vino veritas
-
Are you absolutely sure you did the Linker >> Input >> Additional Dependencies right? That looks suspiciously like what it is telling you or it's static versus dynamic linking but that usually presents slightly different.
In vino veritas
-
Thanks I had downloaded the sample code "How the compiler implements exception handling" Seems like SEH is only use full for 32 bit code as the EXCEPTION_REGISTRATION handler pointer is a DD 4 bytes and I am running a 64 bit project
ForNow wrote:
Seems like SEH is only use full for 32 bit code as the EXCEPTION_REGISTRATION handler pointer is a DD 4 bytes and I am running a 64 bit project
No absolutely not, That field should be defined as a PEXCEPTION_ROUTINE callback which will be quadword pointer on a 64 bit platform. Sounds like you are looking at some 32 bit instructions in your sample. Best Wishes, -David Delaune
-
ForNow wrote:
Seems like SEH is only use full for 32 bit code as the EXCEPTION_REGISTRATION handler pointer is a DD 4 bytes and I am running a 64 bit project
No absolutely not, That field should be defined as a PEXCEPTION_ROUTINE callback which will be quadword pointer on a 64 bit platform. Sounds like you are looking at some 32 bit instructions in your sample. Best Wishes, -David Delaune
Thanks this is in regards to the exception I'm getting access violation it happens intermittently When it does the Debbuger gets control and points to ntdll looking at the call stack doesn't point me back to anywhere in my code. I was looking for a really low level Exception handler that might catch it earlier. The code for the SEH in all the examples I have seen has inline Assembler However I do have the intel compiler which lets me use _asm for 64 bit code Thanks
-
Hi While trying to get a better understanding of my exceptions I down loaded the demo "
Quote:
How a C++ compiler implements exception handling
Well first I feel very good the I spent $700 to get the intel C/C++ compiler the demo had inline asm code and the Microsoft compiler only supports thunder 32 bit code but intel supports _asm with X64 I changed the "E" register to "R" Was able to build everything until the demo I got a number of externs I paste just one example but I am sire they are all related to cout
Quote:
error LNK2019: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z) referenced in function "public: void __cdecl std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QEAAXXZ) 1>MyExcHandler.lib(myexchandler.obj) : error LNK2001: unresolved external symbol "public: __cdecl std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QEAA@H@Z)
doing research seems the .lib msvcprtd or msvcprt.lib for release ( did a dumpbin on the lib) I included in my library directories however I am still getting externals
Hi, The unresolved symbol std::_Lockit appears to be from the Microsoft implementation of checked iterators[^] in our STL implementation. So this implies that you are #including the Microsoft STL headers and trying to link with the Intel Standard C++ Library[^]. Fix your broken #include and library paths. Best Wishes, -David Delaune