博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Opencv学习笔记——release和debug两个模式的运行问题
阅读量:4966 次
发布时间:2019-06-12

本文共 1216 字,大约阅读时间需要 4 分钟。

本文为原创作品,转载请注明出处

欢迎关注我的博客:http://www.cnblogs.com/xujianqing/

作者:晨凫追风

关于Opencv的一个bug的解决方法

错误:

Opencv配置完之后运行一切都很正常,也愉快的弄了一些demo,然而突然有一天,我心血来潮想要在release下运行一下自己的代码,于是出现了一个很美的画面:

 

 

输出窗口显示错误信息:

0x50AA8B98 (opencv_highgui249d.dll) (template_example.exe 中)处的第一机会异常: 0xC0000005: 读取位置 0xACC6BCCD 时发生访问冲突。

0x50AA8B98 (opencv_highgui249d.dll) (template_example.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0xACC6BCCD 时发生访问冲突。

 

 

提示内存错误,算是Opencv的一个bug,在Debug下可以运行,在release下却不能运行报错。

 

介绍一下来龙去脉:

在对Opencv进行配置的时候,配置链接库的时候会有一堆 .lib的文件,其中Debug文件库名有d结尾,release没有d

如:opencv_video249d.lib debug 库。

opencv_video249.lib release 库。

按照一般的网上配置教程,会出现debug下可以运行,release下不能运行的情况(报错原因是由于字符串读取问题引起的如图像载入不了,内存出现错误,指针错误等情况)。

因为在附加依赖项配置的时候,会优先选择写在前面的那一类lib作为支持的调试方式,一般我们把带d的写在前面,于是就出现了默认在debug下可以载入图像,识别字符串等操作。如果把不带d的写在前面,那就默认release下调试。

 

 

解决方法:

在配置的时候就添加一类依赖项,如:就只添加带d的那一类,于是就只支持debug模式下的调试,这时候想要在release下也能调试,就在当前工程的release模式下自己将不带d的依赖项添加进去:【项目】—【属性】—【配置属性】—【链接器】—【输入】—【附加依赖项】,添加即可。

上图:1、选择release模式调试

 

 

 

 

                                                                                                                                   

                                               

 

 

 

 

2、选择当前项目属性

 

 

 

 

3、添加附加依赖项:把不带d的库添加进去,运用就ok

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

至此完成。

 

感觉在配置的时候只添加一类,只添加带d的或者只添加不带d的库,这样在用到另外一种模式的时候再去修改当前工程的属性配置(并不是之前的固有属性)。这样做让人感觉更加清爽,两个全部添加,毕竟系统只默认在前面的那一种库

 

如有不足之处欢迎批评指正,原创作品,转载请注明出处!谢谢!后续的学习总结会陆续推出!欢迎广大爱好者交流!

 

转载于:https://www.cnblogs.com/xujianqing/p/5356559.html

你可能感兴趣的文章
IdHTTPServer允许跨域访问
查看>>
IdHTTPServer开发https服务器
查看>>
sql server for centos7
查看>>
中间件测试工具
查看>>
咏南跨平台中间件简介
查看>>
DELPHI开发LINUX包
查看>>
CENTOS7安装OPENSSL
查看>>
LITEIDE配置
查看>>
DELPHI开发LINUX的动态库
查看>>
TThread.Queue和TThread.Synchronize的区别
查看>>
NGINX配置SSL
查看>>
咏南跨平台中间件支持LINUX和WINDOWS插件架构
查看>>
DELPHI给整个项目加编译开关
查看>>
JWT Claims
查看>>
cross socket tcp客户端开发
查看>>
http json token
查看>>
JWT签名算法
查看>>
CENTOS安装REDIS
查看>>
CENTOS7安装NGINX
查看>>
基于洗牌算法的负载均衡
查看>>