Opencv3编程入门学习笔记(四)之split通道分离Debug过程中0xC0000005内存访问冲突问题

    xiaoxiao2021-04-12  26

    这是笔者学习《Opencv3编程入门》的第四篇博客,这篇博客主要是解决在Windows系统下VS 2013中Debug含有split分离通道色彩函数时报出的0xC0000005内存访问冲突问题,问题表现如下面第一幅图所示。

    刚刚遇到这个问题的时候,确实花费了不少时间找问题根源,主要是Release版本下这个问题不会出但是在Debug版本下就会报出。“调用堆栈”指出opencv_world300.dll错误,但是仔细一想,不对啊,我这是debug版本应当使用的是opencv_world300d.dll才对啊,因而可以锁定是opencv_world300d.lib运行库在配置的时候出现了错误。但是笔者仔细查看了自己的lib运行库的配置,发现自己把opencv_world300.lib、opencv_world300d.lib、opencv_ts300.lib、opencv_ts300d.lib都进行了配置了啊,并且笔者为了方便在VS2013中进行了Opencv一次性配置,既然配置了为何Debug的时候会定位到opencv_world300.lib呢?这里笔者猜测可能是存在引用的先后顺序,于是笔者把整个VS2013的Opencv3的配置都做了调整,把非Debug的lib(即不带_d.dll)全部删除,删除如下三幅图。

    经过不懈的调整努力,这个问题终于解决了,现在分享一下demo的Debug运行效果。

    注意:如果你开启了多个VS2013的编辑器,请对每一个都进行确认。

    此外,要特别感谢以下两篇文章。

    http://blog.csdn.net/alickr/article/details/51503133 https://www.zhihu.com/question/43831704

    转载请注明原文地址: https://ju.6miu.com/read-668274.html

    最新回复(0)