Qt Creator + OpenCV: программа запускается из .exe, но не из редактора - PullRequest
4 голосов
/ 14 февраля 2012

Ну, мне нужно начать работать с 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, чтобы закрыть это окно ...»

Но, если я запускаю .exe из папки проекта, он работает отлично !! Почему QtCreator не может запустить приложение? Я нашел это действительно странным, и я был бы признателен за любую подсказку по этому поводу. Это на самом деле не ЭТО важно, но довольно тяжело запускать .exe вручную каждый раз, когда я что-то меняю, чтобы проверить, как он работает.

Спасибо за ваше время:)

Дополнительная информация:

  • Я пробовал как отладочную, так и выпускную версии, проблема одинакова в обеих.
  • Отладка не работает, она никогда не останавливается ни на одной точке останова.
  • Я работаю на Windows 7 Proffesional x64

РЕШЕНО, я действительно не знаю, что я сделал, это внезапно сработало и продолжает работать, я хотел бы рассказать вам, как я это исправил, но я понятия не имею, такая странная вещь: (

Ответы [ 3 ]

0 голосов
/ 23 ноября 2016

Я встречал ту же проблему с QtCreator и OpenCL под Linux.Простая тестовая программа работает после запуска из терминала и не работает после запуска из QtCreator.Я обнаружил, что причина была жестко задана в LD_LIBRARY_PATH в настройках среды выполнения проекта.Я опустил его в пустую строку, и это исправило проблему.

0 голосов
/ 07 октября 2018

У меня была такая же проблема со следующей средой: Raspbian, Qt, openCV и приложение с графическим интерфейсом.

Рекомендация old-ufo работала для меня: - Сначала включите «Запуск в терминале», который не удался -Затем отключите «Запуск в терминале», что позволило мне правильно отладить мое приложение.

Я понимаю, что это не научно.

0 голосов
/ 16 ноября 2013

Проверка проектов -> Настройки запуска -> Запуск в терминале. Он должен быть включен, но, кажется, отключен.

...