OpenVC 2.4.5,eclipse CDT Juno,MinGW错误0xc0000005

Nen*_*vic 1 windows opencv mingw eclipse-cdt

在Windows 7 64位,AMD处理器上,我安装了OpenVC 2.4.5,使用eclipse CDT Juno和MinGW,所有内容都进行了最新更新.以前eclipse CDT和MinGW编译了100多个源文件而没有任何问题.他们甚至编译这个小的OpenCV源文件,

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;

int main()
{
    IplImage* img1 = cvLoadImage("lenna.png");
    cvShowImage("MyWindow1", img1);

    cv::Mat img2;
    img2 = cv::imread("lenna.png", CV_LOAD_IMAGE_COLOR);

    cv::namedWindow("MyWindow2", CV_WINDOW_AUTOSIZE);
    cv::imshow("MyWindow2", img2);

    cvWaitKey(0);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但当我尝试运行它然后它与臭名昭着的刹车

"应用程序无法正确启动(0xc0000005).单击"确定"关闭应用程序."

可能出现什么问题以及解决这个问题的方法是什么?

  1. OpenCV(PreCompiled)解压缩到"C:\ OpenCV245PC \"(README,index.rst和CMakeLists.txt都包含所有子文件夹)
  2. Windows系统PATH设置为C:\ OpenCV245PC\build\x86\mingw\bin
  3. Eclipse GCC C++编译器,包含路径(-I)设置为"C:\ OpenCV245PC\build\include"
  4. Eclipse MinGW C++链接器,库搜索路径(-L)设置为:"C:\ OpenCV245PC\build\x86\mingw\lib"
  5. Eclipse MinGW C++链接器,库(-l)设置为:

opencv_calib3d245 opencv_contrib245 opencv_core245 opencv_features2d245 opencv_flann245 opencv_gpu245 opencv_highgui245 opencv_imgproc245 opencv_legacy245 opencv_ml245 opencv_nonfree245 opencv_objdetect245 opencv_photo245 opencv_stitching245 opencv_video245 opencv_videostab245

Nen*_*vic 6

经过多次试验和错误后,我决定按照教程编写自己的二进制文件,因为似乎有太多人抱怨预编译的二进制文件不适用于它们.Eclipse CDT Juno已经安装完毕.

我的程序如下:

  1. 下载并安装MinGW并使用c:/ mingw/bin添加到系统PATH
  2. http://www.cmake.org下载cmake 并安装它
  3. 下载OpenCV2.4.5 Windows版本
  4. 安装/解压缩Opencv到C:\ OpenCV245PC \(README,index.rst和CMakeLists.txt都包含所有子文件夹)
  5. 然后运行CMake GUI工具
  6. 选择C:\ OpenCV245PC \作为源
  7. 选择目标,C:\ OpenCV245MinGW\x86在哪里构建二进制文件
  8. 按Configure按钮,选择MinGW Makefiles作为生成器.窗口中有一些红色高光,您可以根据需要选择选项.
  9. 再次按"配置"按钮.配置现已完成.
  10. 按Generate按钮.
  11. 生成完成后退出程序.
  12. 退出Cmake程序.
  13. 运行命令行模式(cmd.exe)并转到目标目录C:\ OpenCV245MinGW\x86
  14. 输入"mingw32-make".您将看到构建二进制文件的进度.如果未找到该命令,则必须确保使用c:/ mingw/bin添加系统PATH.构建将根据所选选项继续完成.
  15. 在Windows系统路径(我的电脑>右键单击>属性>高级>环境变量>路径)中添加目标的bin目录,C:\ OpenCV245MinGW\x86\bin
  16. 重新启动计算机
  17. 转到Eclipse CDT IDE,使用示例OpenCV代码创建C++程序(您可以使用本主题顶部的代码).
  18. 转到项目>属性> C/C++生成>设置> GCC C++编译器>包含,并添加源OpenCV文件夹"C:\ OpenCV245PC\build\include"
  19. 转到项目>属性> C/C++构建>设置> MinGW C++链接器>库,并添加到库(-l) ONE BY ONE(这可能因项目而异,如果您愿意,可以添加所有这些或者有些人只是你需要为你的项目的):opencv_calib3d245 opencv_contrib245 opencv_core245 opencv_features2d245 opencv_flann245 opencv_gpu245 opencv_highgui245 opencv_imgproc245 opencv_legacy245 opencv_ml245 opencv_nonfree245 opencv_objdetect245 opencv_photo245 opencv_stitching245 opencv_video245 opencv_videostab245
  20. 将构建的OpenCV库文件夹"C:\ OpenCV245MinGW\x86\lib"添加到库搜索路径(-L).

您可以使用此代码测试您的设置:

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/opencv.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main()
{

Mat img = imread("c:/lenna.png", CV_LOAD_IMAGE_COLOR);

namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);
imshow("MyWindow", img);

waitKey(0);
return 0;
}
Run Code Online (Sandbox Code Playgroud)

不要忘记把图像放到C:/(或者你可能找到合适的地方,只要确保eclipse已经阅读过了.