VC ++ 2015没有链接,但VC ++ 2012没有

时间:2016-07-13 18:43:40

标签: c++ c++11 visual-c++ visual-studio-2015 stl

在将我们的项目从VS2012更新4移动到VS2015更新3时,我遇到了一个奇怪的错误。在解决方案中,一半项目使用VC ++(MSVC 14.0)进行编译,一半项目使用英特尔C ++ 13.0进行编译。 / p>

一切都正确编译。

当需要链接时会出现问题。我收到的错误似乎是std个文件......

Error   LNK2019 

unresolved external symbol 

"public: virtual void __cdecl std::basic_istream<wchar_t,struct
std::char_traits<wchar_t> >::_Add_vtordisp1(void)"
(?_Add_vtordisp1@?$basic_istream@_WU?$char_traits@_W@std@@@std@@UEAAXXZ) 

referenced in function 

"[thunk]:public: virtual void __cdecl std::basic_istream<wchar_t,struct
std::char_traits<wchar_t> >::_Add_vtordisp1`vtordisp{4294967292,128}'
(void)" (?_Add_vtordisp1@?$basic_istream@_WU?$char_traits@_W@std@@@std@@$4PPPPPPPM@IA@EAAXXZ)

我既不能使用尖峰解决方案重现错误,也不能为您提供一段代码,因为它似乎位于std中。

当我查看文件istream时,我发现类似#pragma vtordisp(push,2) //compiler bug workaroung的内容,但我无法确定它是什么错误或如何解决它。

任何线索/提示都会受到赞赏。

谢谢!

1 个答案:

答案 0 :(得分:0)

安装Windows 10 SDK,然后重新定位您的解决方案以使用此最新SDK。还要确保您的代码应该正确迁移到VS 2015,并且您在项目中使用的依赖项应该是VS 2015,否则它会给出另一个错误。