【问题标题】:QT Creator exits with code 0 when running program运行程序时 QT Creator 以代码 0 退出
【发布时间】: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 中的内容,没有人可以真正开始给你答案
  • 对不起。我现在已经包含了源代码

标签: qt opencv


【解决方案1】:

您的控制台窗口除了“Press to close”行之外没有显示任何行,这意味着您的应用程序不会向控制台输出任何内容。

我看到您配置了一个控制台项目,这意味着它没有 GUI。但由于您的程序编译良好,这可能不是问题。

你能发布你的 main() 函数的代码吗?您描述的行为似乎与您的代码有关,而不是项目配置。

【讨论】:

  • 我认为您需要创建一个 QCoreApplication 对象才能使控制台输出正常工作。 cv::imshow 做什么,它可能依赖于 Qt Gui 部分吗?您可以尝试创建一个已经为您提供 main() 方法的新控制台或 GUI 应用程序。然后通过 OpenCV 代码扩展该方法,但将 Q​​t Creator 生成的部分保留在那里。
猜你喜欢
  • 1970-01-01
  • 2012-12-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-24
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
相关资源
最近更新 更多