我正在尝试在openCV 2.2中运行squares.cpp示例。代码在Visual Studio 2008中编译和构建时没有错误。但是,当我运行可执行文件时(即在运行时),我收到错误说明
Unhandled exception at 0x004ac363 in OpenCVRectangle.exe: 0xC0000005: Access violation reading location 0xcccccccc.
这发生在定义:
vector<vector<Point> > squares;
在主要功能
有人可以帮忙,为什么会这样? 我发现值0xcccccc通常是一个未初始化或坏的变量,但不明白为什么我在这一行得到这个异常。
找到完整的示例代码答案 0 :(得分:1)
namedWindow
是一个看起来不在此范围内定义的函数。可能是它试图将其解释为尚未定义的变量,而不是函数。我会说它可能缺少某种类型的库?如果没有进一步的上下文,很难说,但vector<vector<Point> > squares;
应该不是违规行为。
答案 1 :(得分:1)
在VS中按Ctrl + Alt + E,启用所有异常检查,在调试模式下运行并查看异常增加的位置。这应该足以让我们理解。
答案 2 :(得分:1)
您的代码在使用OpenCV 2.3.0的Mac OS X上运行良好,但已知OpenCV在不同的操作系统中呈现不同的行为。
首先,检查您的代码是否在发行版和调试版中都存在此问题。
升级到OpenCV 2.3.1 on Windows并查看问题是否消失。