码迷,mamicode.com
首页 > 其他好文 > 详细

opencv检错:程序运行过程正常,当跳出函数时出现断言错误(Debug Assertion Failed)

时间:2017-10-01 14:47:19      阅读:272      评论:0      收藏:0      [点我收藏+]

标签:src   解决   net   结合   技术   消失   题解   strong   sdn   

转载http://blog.csdn.net/u012327581/article/details/51351780

1.问题描述

在VS2015下配置好Opencv后,程序在函数运行过程中正常,调试时发现,当运行至跳出函数时,出现断言错误。

技术分享

2.原因分析 

单步跟踪调试发现,在函数结束时会进行vector的析构,出现了析构错误。并且,如果vector在定义完成之后,进行resize或reserve操作,将vector空间做大,问题消失。后来查阅资料,结合亲身测试,发现是在调用Opencv 库时,由于opencv库编译使用的是 VC12(或者VC10/VC11)编译的,而本人使用的VS2015使用的时VC14(14是内部编码),不同版本的编译器造成析构方法冲突。

3.解决方法

使用VC12版本的库,需要使用VC12的编译器即可,如VS2012、VS2013 
使用VC14编译器时,截至目前,Opencv官网的2.4.*系列版本的库只有VC10/VC11/VC12编译的版本,只有OpenCV3.0之后的版本含有VC14编译的版本。因而本人又重新将opencv使用VS2015进行编译,设置好参数后,问题解决。

 

opencv检错:程序运行过程正常,当跳出函数时出现断言错误(Debug Assertion Failed)

标签:src   解决   net   结合   技术   消失   题解   strong   sdn   

原文地址:http://www.cnblogs.com/little-monkey/p/7617140.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!