C++ QT输出为;已退出,代码为“0”;并且没有显示任何图像

C++ QT输出为;已退出,代码为“0”;并且没有显示任何图像,c++,windows,qt,opencv,mingw,C++,Windows,Qt,Opencv,Mingw,我正在编写以下代码: main.cpp #include <QCoreApplication> #include <iostream> #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int ma

我正在编写以下代码:

main.cpp

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

using namespace cv;

using namespace std;

int main(int argc, char *argv[])
{
    Mat image = imread("C:/Users/Public/Pictures/Sample Pictures/Tulips.jpg");
    namedWindow("Image");
    imshow("Image",image);
    waitKey(0);
}
当我运行此代码时,没有显示任何图像,将打印以下输出

Starting E:\Jasmin\Yohan\QTProjects\build-Test-Desktop_Qt_5_0_2_MinGW_32bit-Debug\debug\Test...
E:\Jasmin\Yohan\QTProjects\build-Test-Desktop_Qt_5_0_2_MinGW_32bit-Debug\debug\Test exited with code 0
将下列与opencv相关的环境变量添加到“path”系统变量中

E:\Jasmin\Yohan\opencv\build\x86\mingw\bin;E:\Jasmin\Yohan\opencv\build\x86\vc10\bin
为什么我会遇到这个问题?我的QT creator版本是2.7.0

更新 我的调试器必须这样说:


您的代码似乎在做它应该做的事情:waitKey(0)等待零秒或毫秒,程序退出。增加等待时间或将waitKey放入循环中。

使用“..\opencv\build\x86\mingw\bin”和“..\opencv\build\x86\mingw\lib”中的lib

您不能使用OpenCV-2.4.x.exe附带的库。

正如论坛上的一些开发人员和我所发现的,在一些系统上,“opencv 2.4.x”的预编译库不能使用。 编译你自己的程序是可行的,但如果你试图运行它们,它就会崩溃。除非“opencv 2.4.x”的预编译库不起作用,否则你必须自己编译opencv

忽略文件夹“..\opencv\build\x86\mingw\bin”和“..\opencv\build\x86\mingw\lib”


我不知道,但我想添加
std::cout调试器的内容是什么?@cmannett85:请查看update@john当前位置我在main的开头放了一份打印声明。完全没有打印\n如果它在main之前崩溃,通常是动态链接问题。使用相当于
ldd
(Dependency Walker?)的Windows来查看您的应用程序正在请求什么DLL,以及它实际在查找什么。waitKey()中的0永远意味着是的,它是标准的,就像“系统”(“暂停”)一样
E:\Jasmin\Yohan\opencv\build\x86\mingw\bin;E:\Jasmin\Yohan\opencv\build\x86\vc10\bin