首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >cv::imread()导致内存损坏

cv::imread()导致内存损坏
EN

Stack Overflow用户
提问于 2014-12-03 01:36:58
回答 1查看 279关注 0票数 1

我已经在Qt Creator中创建了一个OpenCV项目。这段非常简单的代码导致了内存崩溃:

代码语言:javascript
运行
复制
std::string fileName = "c:\\Workspace\\ImageProcessing\\Tutorials\\src\\images\\test.jpg";
cv::Mat mat = cv::imread(fileName.c_str());

执行代码后,cv::Mat为空,fileName的内容也被垃圾填满。我读了imread not working in OpencvOpenCV imread(filename) fails in debug mode when using release libraries

我签入了我自己的项目,但我没有混用Debug和Release库。此外,还有内存损坏。

EN

回答 1

Stack Overflow用户

发布于 2014-12-03 01:36:58

事实证明,我的Qt Creator项目使用的是MSVC9 (VS2008)编译器,但使用的是使用MSVC10 (VS2010)编译的OpenCV。

由于C++接口在不同编译器版本之间不稳定,因此导致内存损坏。问题是它完全无声地失败了,没有任何警告,并且它通过内存损坏而爆炸。

在下载了使用VS2010构建的Qt版本后,它现在可以工作了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27255572

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档