• 本站域名:OceanCoder.cn 若您喜欢本站,请添加至收藏夹!
  • 网站少部分资源来源自网络,如有侵犯您的权益,请联系站长删除!
  • 本站所有文章,除特殊标明外,皆为本人原创,转载请注明出处,谢谢合作!
  • 本站所下载的资源,若无特殊说明,使用统一解压密码:oceancoder.cn
  • 本站已实现布局自适应,支持手机端、pad端访问,欢迎体验
  • 本站部分资源可通过微信公众号留言获取,欢迎体验

osgdbd.lib error LNK2005 __cdecl std::basic_ofstream 已经在 xxx.obj 中定义

C++ OceanCoder 2022-03-26 2034 次浏览 0个评论

一、错误描述

osgdbd.lib(osg130-osgDBd.dll) : error LNK2005: "public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ) 已经在 AnimationRecorder.obj 中定义


1>fatal error LNK1169: 找到一个或多个多重定义的符号


image.png


二、错误原因及解决办法

ofstream被重复定义,问题代码如下:

std::ofstream    _fo;

std和osgDB下都有ofstream,所以冲突了,改为使用osgDB即可

//std::ofstream    _fout;
osgDB::ofstream    _fout;


已有 2034 位网友参与,快来吐槽:

发表评论