我是opencv,C ++和eclipse CDT的首发。我正在学习opencv的教程。但是,虽然我成功编译了程序,但在执行后很快就崩溃了。我阅读了许多相关的Q& A但没有得到有效的解决方案。任何建议都非常感谢。以下是一些供您参考的规范:
使用以下内容替换OpenCVTest.cpp文件内容:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main( int argc, char** argv )
{
if( argc != 2)
{
cout <<" Usage: display_image ImageToLoadAndDisplay" << endl;
return -1;
}
Mat image;
image = imread(argv[1], CV_LOAD_IMAGE_COLOR); // Read the file
if(! image.data ) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl ;
return -1;
}
namedWindow( "Display window", CV_WINDOW_AUTOSIZE );// Create a window for display.
imshow( "Display window", image ); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}
构建项目并获得以下控制台输出(假定成功):
信息:内部构建器用于构建 g ++&#34; -IC:\ opencv \ build \ include&#34; -O0 -g3 -Wall -c -fmessage-length = 0 -o&#34; src \ OpenCVTest.o&#34; &#34; .. \ SRC \ OpenCVTest.cpp&#34; g ++&#34; -LC:\ opencv \ build \ x86 \ mingw \ lib&#34; -o OpenCVTest.exe&#34; src \ OpenCVTest.o&#34; -lopencv_core246 -lopencv_highgui246 -lopencv_imgproc246
运行生成的.exe而不传递图像路径(应该正常工作),程序崩溃时出现以下提示:
问题签名: 问题事件名称:APPCRASH 应用程序名称:OpenCVTest.exe 应用版本:0.0.0.0 应用程序时间戳:5230da00 故障模块名称:libstdc ++ - 6.dll 故障模块版本:0.0.0.0 故障模块时间戳:522c646d 例外代码:c0000005 异常偏移:0001df4b 操作系统版本:6.1.7600.2.0.0.256.48 区域设置ID:1033 附加信息1:4c0d 附加信息2:4c0d4d78887f76d971d5d00f1f20a433 附加信息3:4c0d 附加信息4:4c0d4d78887f76d971d5d00f1f20a433
答案 0 :(得分:1)
原来这不是由于libstdc ++ - 6.dll。相关主题的答案:OpenVC 2.4.5, eclipse CDT Juno, MinGW error 0xc0000005实际上解决了我的问题。我没有成功,因为我留下了预先构建的(随opencv下载)opencv库(* .dll)以及在系统路径下暴露的重建(根据上述解决方案)库。结果,我的程序使用了预构建版本并忽略了新版本。在我用重新构建的* .dll替换预先构建的* .dll后,程序运行没有任何问题。