Недавно соберите OPENCV 3.4.3 с CMAKE 3.12.4 и MINGW64 (32bit) 8.1.0 в Windows 7. У QT 5.6 и я пытаюсь протестировать эту сборку как консольное приложение QT, но когда я компилирую с QT, я получаю только сообщение «Нажмите «ВОЗВРАТ», чтобы закрыть это окно ... ».
.PRO файл:
CONFIG += c++11
TARGET = test
CONFIG += console
CONFIG -= app_bundle
TEMPLATE = app
SOURCES += main.cpp
OTHER_FILES += test.png
INCLUDEPATH += C:\Users\Test\Desktop\opencv\build\include
LIBS += C:\Users\Test\Desktop\mingw\bin\libopencv_*.dll
main.cpp:
#include <QCoreApplication>
#include <iostream>
#include "opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv/cv.h"
using namespace std;
int main(int argc, char *argv[]) {
QCoreApplication a(argc, argv);
cout << "Hello World!" << endl;
cv::Mat mat;
mat = cv::imread("test.png");
cvNamedWindow("hello");
cv::imshow("hello",mat);
return a.exec();
}
Что я делаю не так?





Imo проблема не в вашем коде, я просто запускаю его (используя Qt5.5, Win10, openCV 4 и mingw64), даже если мне пришлось бы изменить cvNamedWindow на cv :: namedWindow. У меня есть две подсказки:
Боже, я забыл, что x.x сейчас работает, я получаю эту ошибку. "ошибка утверждения не удалась (size.width 0 && size.height 0)", но я разрешаю это следующим образом: stackoverflow.com/questions/31341845/… спасибо !!!!
Обычная проблема -
imshowбезwaitKey.