【error】LNK2005: already defined in LIBCMTD.lib(typinfo.obj)

在尝试静态编译时遇到LNK2005错误,涉及type_info的重复定义。解决方案包括修改项目设置,如忽略特定库libcmtd,或者调整链接器输入库的顺序。通过实验,最终采用在忽略默认库后重新添加库的顺序,成功解决了冲突。
摘要由CSDN通过智能技术生成

这个问题的来源是这样的,我想要静态编译发布我程序,就是Runtime Library 设置为:Multi-threaded Debug (/MTd)

程序悲剧的报错了:

Error 2 error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

Error 3 error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) already defined in LIBCMTD.lib(typinfo.obj)

一开始搜到这位可耐的网友:http://sanqiaosiyou.blog.sohu.com/161348612.html

大致是两种库一起使用的问题,解决方案很粗暴,把 libcmtd 直接 Ignore 掉

Project Settings:  -> Configration Properties -> Linker -> Input -> Ignore Specific Library: libcmtd

然后悲剧的通篇都是外部引用错误:

erro

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值