繁体   English   中英

Visual Studio 2010 x64上的C ++链接错误

[英]C++ link error on Visual Studio 2010 x64

我正在将C ++代码库从VS2005升级到VS2010,并且正在重建一些第三方C ++依赖项。 我没有问题构建这些32位,但一直遇到链接64位(x64)的问题。 我遇到了许多标准库函数的未解决的外部问题。 例如:

error LNK2001: unresolved external symbol "__declspec(dllimport) public: __cdecl 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)" (__imp_??1?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@XZ)

error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl 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> >(char const *)" (__imp_??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QEAA@PEBD@Z) referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl YAML::Exp::Escape(class YAML::Stream &,int)" (?Escape@Exp@YAML@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVStream@2@H@Z)

我尝试将msvcprtd.lib显式添加到链接行并启用了库解析调试,它似乎正在C:\\ Program Files(x86)\\ Microsoft Visual Studio 10.0 \\ VC \\ lib \\ amd64 \\ msvcprtd.lib中搜索符号,但不是找到他们。

任何人都知道为什么会这样吗?

您可以尝试启用/ showIncludes以查看要导入的头文件。因为通常,我希望将这些函数内联到您生成的二进制文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM