error LNK2005: xxx已经在 msvcrtd.lib(MSVCR80D.dll)解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZLK961543260/article/details/80695007

最近在用c++写程序的时候真是遇见了各种奇葩问题,其中有个问题:error LNK2005: xxx已经在 msvcrtd.lib(MSVCR80D.dll)

这种情况,一般是某一个lib与msvcrtd.lib冲突了。出现这种错误一般都会出现好多行错误,可能其中错误就会包含这样一行:

error LNK2005: __setmbcp 已经在 LIBCMT.lib(mbctype.obj) 中定义

一般的话用以下步骤操作:

右键点击项目-》属性-》连接器-》输入-》忽略特定默认库

然后会看到如下界面:


点击箭头指向三角号,点击编辑,如下图:


上面我们也说了,出现这种错误会是两种lib发生冲突的情况导致的,这样,只要我们忽略掉其中一个lib,那么错误就会解决,但是这里需要注意,不要忽略msvcrtd.lib。因为我就是因为忽略了这个库,后续又出现了好多莫名其妙的错误。

阅读更多

没有更多推荐了,返回首页