任何时候我打电话给cvNamedWindow
我都会遇到分段错误,我不知道为什么会这样。我已经尝试编译在线代码示例以及编写自己的代码示例。这是重现问题的最小代码:
#include <opencv2/opencv.hpp>
int main() {
cvNamedWindow("Video");
return 0;
}
cv::namedWindow("Video")
也不起作用。为什么会这样?我正在使用Qt Creator在MinGW(C ++编译器v4.6.1)下编译OpenCV 2.3.1。
答案 0 :(得分:1)
我测试了您的代码,无法重现问题:
但是,最好调用cvDestroyWindow()
来释放创建窗口时分配的资源:
#include <opencv2/opencv.hpp>
int main()
{
cvNamedWindow("Video");
cvDestroyWindow("Video");
return 0;
}
在Windows上,我使用了OpenCV-2.3.0-win-superpack.exe。这是Visual Studio 2010上的guide for installing。
答案 1 :(得分:1)
我假设问题与我发布的another thread有关。长话短说,我的另一个问题与我不知道的调试和发布DLL之间的区别有关。
答案 2 :(得分:0)
可能与您的问题的原因没有直接关系,但对我来说,分段错误的原因是由于多线程(并行处理)。