运行程序时 QT Creator 以代码 0 退出
Posted
技术标签:
【中文标题】运行程序时 QT Creator 以代码 0 退出【英文标题】:QT Creator exits with code 0 when running program 【发布时间】:2011-09-11 22:24:20 【问题描述】:我正在尝试在 QT Creator 2.3、QT 4.7.4 中运行一个简单的 OpenCV 程序。我知道语法是正确的,但我的程序没有运行。当我运行它时,我只是得到带有“Press <RETURN> to close this window...
”的 qtcreator_process_stub.exe 窗口。
这是为什么?我的 .pro 文件如下所示:
QT += core
QT -= gui
TARGET = myQtConsoleProject
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += C:\\opencv\\release\\include
LIBS += -LC:\\opencv\\release\\lib \
-lopencv_core231.dll \
-lopencv_highgui231.dll \
-lopencv_imgproc231.dll \
-lopencv_features2d231.dll \
-lopencv_calib3d231.dll
应用程序输出是
Starting C:\Users\chris\QT\myQtConsoleProject-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Release\release\myQtConsoleProject.exe...
C:\Users\chris\QT\myQtConsoleProject-build-desktop-Qt_4_7_4_for_Desktop_-_MinGW_4_4__Qt_SDK__Release
\release\myQtConsoleProject.exe 以代码 0 退出
我的源代码内容如下:
#include <stdio.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
int main()
printf("not outputting...\n");
cv::Mat image= cv::imread("C:/temp/img.jpg");
cv::namedWindow("My Image");
cv::imshow("My Image", image);
cv::waitKey(50000);
return 1;
我已将C:\opencv\release\bin
添加到我的路径中。
【问题讨论】:
没有看到你在 main.cpp 中的内容,没有人可以真正开始给你答案 对不起。我现在已经包含了源代码 【参考方案1】:您的控制台窗口除了“Press to close”行之外没有显示任何行,这意味着您的应用程序不会向控制台输出任何内容。
我看到您配置了一个控制台项目,这意味着它没有 GUI。但由于您的程序编译良好,这可能不是问题。
你能发布你的 main() 函数的代码吗?您描述的行为似乎与您的代码有关,而不是项目配置。
【讨论】:
我认为您需要创建一个 QCoreApplication 对象才能使控制台输出正常工作。 cv::imshow 做什么,它可能依赖于 Qt Gui 部分吗?您可以尝试创建一个已经为您提供 main() 方法的新控制台或 GUI 应用程序。然后通过 OpenCV 代码扩展该方法,但将 Qt Creator 生成的部分保留在那里。以上是关于运行程序时 QT Creator 以代码 0 退出的主要内容,如果未能解决你的问题,请参考以下文章
OpenCV 2.4.10 + Qt Creator 3.2.0 & Qt5.4.0 MingW 64bits Windows 7 - “退出代码 -1073741515”
错误MSB6006:“cmd.exe”退出,运行QT应用程序的代码1