又是一个链接库的问题

今天又碰到一个链接库的问题。。

写了一个自己的链接库,然后需要在另一个程序中调用,在使用的时候总是提示:

导致LIBCMTD.lib 和 MSVCRD.lib造成冲突

一顿百度

一个Debug版的dll链接时,VS会首先链接QT的Debug库,比如QtCoreD.dll,而QtCoreD.dll内部又一定链接了VC的Debug库,比如msvcrD.dll,自己写的dll也会链接VC的Debug库,比如msvcrD.dll.相同的,Release版的都会去链接VC的Release库;
在Debug下要把下图中Runtime Library设置成如图所示MDd,在Release下要设成MD。
参数MDd就保证了Debug下加载VS的debug版本的库;参数MD就决定了在Release下加载VC Release版本的库。

link 你link了QT的Debug 库比如QtCoreD.dll.   而QtCoreD.dll内部link的一定是VC的Debug库,比如msvcrD.dll.     
而你的算法库同时又link了VC的Release库,比如msvcr.dll.   所以实际上你的算法模块就混用debug和release库了。所以就加载不起来。

上述这个是转的别人的,感觉写的有点道理,但是不符合我的问题,贴出来看看也有帮助


我的问题 其实是出在了两个项目的开发模式不同导致的,我的lib是在debug下进行开发,而我的调用这个lib的是在release版本下开发的,所以我混用了debug跟release库,于是果断将lib改为release版本,得到.lib文件,放到原项目中,问题解决。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值