如何解决Visual Studio中的链接错误2005?

问题描述 投票:0回答:5
error LNK2005: "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *,bool)" (??0?$basic_ostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits
@D@std@@@1@_N@Z) already defined in msvcprtd.lib(MSVCP80D.dll)  libcpmtd.lib

当我尝试在子项目中包含/clr选项和/MDd选项时,我收到此错误。

个别地,所有项目都已成功构建,但是当我构建主项目时,它显示出上述类似错误。

如何解决这个问题?

我完全烦死了。

c++ visual-studio-2005 linker
5个回答
1
投票
如果使用/MDd,请确保所有其他项目也是如此。否则,在主项目中将它们链接在一起时,它将导入多个版本的运行时库,从而导致您观察到错误。

0
投票
对于这种情况:

0
投票

0
投票
检查您的构建设置,使它们完全相同。

0
投票
© www.soinside.com 2019 - 2024. All rights reserved.