_CrtIsValidHeapPointer一个问题解决方案

首先描述一下问题,我在debug环境下运行我的程序,执行某个操作时出现这个断言错误提示如下两图所有示:

图一:


图二:



相信很多人都会遇到这样的问题,归根结底是因为使用动态/静态库出现冲突的问题,我们使用动态库一定要遵守这样的一个原则:

debug环境下程序使用debug环境编译的动态/静态库,release环境下程序使用release环境编译的动态/静态库。

运行库也要保持一致,

md程序对应md的动态/静态库,mdd程序对应mdd的动态/静态库,

mt程序对应mt的动态/静态库,mtd程序对应mtd的动态/静态库。

我按照这个原则重新检查了几遍我的工程,也没有解决这个问题,

后来一个链接的提示提醒了我,这个提示如下图所示:


图三:



看到这个提示,我产生了疑问,我的工程明明是debug环境的,为什么会使用到这个"msvcrt.lib"库呢?这个库应该是在release环境下使用的才对啊?

这个问题一真没有得到解释,我检查过很多遍我的所有使用的动态/静态库,也没有发现有release环境下编译的。

那位大拿如果有答案,可以告知一下小弟。


这个问题虽然没有答案,但这个断言错误提示的问题还是可以解决的,

于是是我在工程配置里忽略了解这个库“msvcrt.lib”,问题就解决了。

如下图所示:



这是我的一点经验,希望给那些遇到同样问题的人,提供一点帮助。



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值