繁体   English   中英

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

[英]Qt Creator + OpenCV: Program runs from .exe but not from editor

好吧,我需要开始使用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的终端窗口, C:\\QtSDK\\QtCreator\\bin\\qtcreator_process_stub.exe显示“按RETURN键关闭此窗口......”

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

谢谢你的时间 :)

附加信息:

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

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

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

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

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

old-ufo建议对我有用: - 首先,启用“Run in terminal”,失败 - 然后,禁用“Run in terminal”,这样我就能正确调试我的应用程序。

我明白这不科学。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM