Qt Creator + OpenCV:程序从.exe运行,但不从编辑器运行

时间:2012-02-13 20:30:14

标签: c++ opencv qt-creator

好吧,我需要开始使用OpenCV,因为我习惯使用QtCreator,我试图让它全部协同工作。我下载了最新的OpenCV版本,并用MinGW编译。然后,我创建了这个小型控制台项目来试用它。以下是.pro文件:

QT       += core
QT       -= gui
TARGET = OpenCV_test4
CONFIG   += console
CONFIG   -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
INCLUDEPATH += C:\\Librerias\\opencv2.3.1\\release\\include
LIBS += -LC:\\Librerias\\opencv2.3.1\\release\\lib \
    -lopencv_core231.dll \
    -lopencv_highgui231.dll \
    -lopencv_imgproc231.dll \
    -lopencv_features2d231.dll \
    -lopencv_calib3d231.dll

以下是main.cpp文件:

#include <QtCore/QCoreApplication>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    // read an image
    cv::Mat image= cv::imread("img.jpg");
    // create image window named "My Image"
    cv::namedWindow("OpenCV Window");
    // show the image on window
    cv::imshow("OpenCV Window", image);
    // wait key for 5000 ms
    cv::waitKey(5000);

    return a.exec();
}

(我已尝试使用和不使用QCoreApplication行的此代码)

交易是:它链接和构建,当从QtCreator运行时,只有一个名为C:\QtSDK\QtCreator\bin\qtcreator_process_stub.exe的终端窗口出现,行“按RETURN关闭此窗口......” < / p>

但是,如果我从项目文件夹中运行.exe,它运行完美!!为什么QtCreator无法启动该应用程序?我觉得这很奇怪,我很感激任何暗示。这真的不重要,但每次我改变一些东西以检查它是如何工作时,必须手动运行.exe是一种痛苦。

感谢您的时间:)

其他信息:

  • 我已经尝试过调试版和发布版,但两者的问题都是一样的。
  • 调试不起作用,它永远不会在任何断点处停止。
  • 我正在运行Windows 7 Proffesional x64

已经解决了,我真的不知道我做了什么,它突然起作用并继续工作,我希望我可以告诉你我是如何修理它但我不知道,这样一个奇怪的事情:(

3 个答案:

答案 0 :(得分:0)

检查项目 - &gt;运行设置 - &gt;在终端运行。它必须启用,但似乎被禁用。

答案 1 :(得分:0)

我在Linux下遇到了与QtCreator和OpenCL相同的问题。简单的测试程序在从终端启动后工作,从QtCreator启动后不起作用。 我发现原因是在项目的运行环境设置中硬编码LD_LIBRARY_PATH。我已将它丢弃为空字符串,这已解决了问题。

答案 2 :(得分:0)

在以下环境中我遇到了相同的问题:Raspbian,Qt,openCV和gui应用程序。

old-ufo建议对我有用: -首先,启用“在终端中运行”,但失败 -然后,禁用“在终端中运行”,这使我可以正确调试我的应用。

我知道这是不科学的。