OpenCV程序编译但不运行



我在Windows 8上使用OpenCV 2.4.13和MinGW 4.9。
我编写了一个简单而小的opencv程序来检查是否一切都安装正确。代码如下:

#include <opencv2/highgui/highgui.hpp>
int main () {
    printf("in mainn");
    for (int i = 0; i<10; i++) {
        printf("heren");
        IplImage * image = cvLoadImage("C:/{...}/test.jpg");
        cvReleaseImage(&image);
    }
    return 0;
}

我在命令提示符下用以下命令编译它:

g++ -o test test.cpp -LC:{...}opencvbuildx64vc11lib -lopencv_core2413 -lopencv_highgui2413 -IC:{...}opencvbuildinclude

{…}是指定文件夹/文件的路径。

该命令运行正常,编译成功,没有任何错误。但是,当我使用:

运行它时
test  

in main和一个here打印后,我得到错误消息为"test.exe已停止工作。"Windows正在寻找解决方案。

What all I have try:

  1. 对于OpenCV的安装,运行下载的OpenCV可执行文件(提取所有文件),并添加系统变量OPENCV_DIR并编辑dll位置的系统路径(位于%OPENCV_DIR%bin中),如下:
    http://docs.opencv.org/2.4/doc/tutorials/introduction/windows_install/windows_install.html installation-by-using-the-pre-built-libraries
  2. 尝试将所需的dll添加到与.exe相同的目录中。
  3. 尝试在vc12目录下做所有事情。
  4. 出现错误消息后,它提供了一个调试选项。按下该键,Just In Time调试器打开并显示"test.exe中出现未处理的win32异常"。我在谷歌上搜索了一下,并尝试按照这里的指示检查注册表项
    https://support.microsoft.com/en-us/kb/811191
    但它已经设置好了。所以,我没有什么可以改变的。

什么都不适合我。如果需要更多的信息,请告诉我。

对于那些可能遇到同样问题的人,我用OpenCV动态(.dll)库而不是.lib文件编译程序,并且由于某种原因,它在运行时运行得很好。

相关内容

  • 没有找到相关文章

最新更新