今天在用vs2013编程的时候,我遇到:
Debug Assertion Failed!Expression:_pFirstBlock == pHead vs2013
解决办法一:
项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库->MDd
参考:http://blog.csdn.net/giantpoplar/article/details/47295877
我用解决办法一,会出现下面的问题。
error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MDd_DynamicDebug”不匹配值“MTd_StaticDebug”
而上面的解决办法搜了一下是叫我改回来。
项目属性 -> 配置属性 -> C/C++ -> 代码生成 -> 运行库->MTd
哈哈,陷入的死循环。看来第一种方法不能用了。
解决办法二:
因为发现我的代码是在函数返回的时候出了错误的,而且我用了vector,这与使用string出错是同一个问题。
参考:http://stackoverflow.com/questions/18882760/debug-assertion-failed-expression-pfirstblock-phead
英文不太理解,我就试着理解吧,最后的尝试把函数中所有的vector使用的时候,必须初始化,如:
vector<Mat> colorCh;split(img,colorCh);
全部改为:
vector<Mat> colorCh(3);split(img,colorCh);
改完之后之后就没问题了哈。