Linker erros with libraries

I'm trying to compile a program (falconview.org) and I'm getting linker errors for a small section of it. I'm using VS2010. I have hundreds of these errors, but I'll just post a portion.

8> Creating library .\Debug/PdfLib.lib and object .\Debug/PdfLib.exp
8>tgo_tgosdk_mdd.lib(datum.obj) : warning LNK4049: locally defined symbol ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
8>tgo_tgosdk_mdd.lib(sdk.obj) : warning LNK4049: locally defined symbol ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
8>tgo_tgosdk_mdd.lib(ctmfit.obj) : warning LNK4049: locally defined symbol ??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ (public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)) imported
.
.
.
8>tgo_tgosdk_mdd.lib(pdfdoc.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>> const &)" (__imp_??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
8>tgo_tgosdk_mdd.lib(pdfcatalog.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<<char,struct std::char_traits<char>,class std::allocator<char> >(class std::basic_ostream<char,struct std::char_traits<char> > &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??$?6DU?$char_traits@D@std@@V?$allocator@D@1@@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@0@AAV10@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@@Z)
8>tgo_tgosdk_mdd.lib(pdfaction.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (__imp_??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ)
8>tgo_tgosdk_mdd.lib(bridge.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (__imp_??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ)
8>tgo_tgosdk_mdd.lib(pdfresource.obj) : error LNK2001: unresolved external symbol "__declspec(dllimport) public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (__imp_??_D?$basic_ostringstream@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEXXZ)


Any idea what might be the cause of this?

Thanks!
Adam
You don't appear to be linking against the C++ runtime library.
How would I check that? I have it set to not ignore default libraries.

Thanks!
Adam
Last edited on
Good question. I'm not sure. You could check the Code Generation settings.
The Runtime Library setting is Multi-threaded Debug DLL (/MDd), I don't see anything for a standard C++ library or anything like that. Anywhere else it could be?

Thanks for your help!
Adam
http://msdn.microsoft.com/en-us/library/atww7hec.aspx
According to this, you have the opposite problem to what I was thinking. The C++ runtime is both exported and imported.

I've seen this before, but I don't remember how I solved it, I probably ignored default libraries.
Thanks for the link. I tried disabling incremental linking/program optimization and it only changed a couple of my 4049s, most stayed the same. I don't know how to use the dumpbin utility even after reading the website. What am I supposed to scan?

I also tried ignoring the libraries, but it just had more errors.

Thanks for your help!
Adam
Topic archived. No new replies allowed.