I have this signal in my project;
void sendImage(cv::Mat &imgMat, QImage &imgQImage);
Project compiles on both Mingw and Visual Studio but when i try to build for Android, i get "error: no matching function for call to imageReader::sendImage(cv::Mat&, QImage)" error.
I tested my pro file on different project, try clean/run qmake/clean/rebuild, remove cv::Mat from signal but nothing worked.
What can be the problem?
Edit;
#ifndef READERMANAGERQMLINTERFACE_H
#define READERMANAGERQMLINTERFACE_H
#include <QObject>
#include <QDebug>
#include "readermanager.h"
class ReaderManagerQMLInterface : public QObject
{
Q_OBJECT
public:
explicit ReaderManagerQMLInterface(QObject *parent = 0);
~ReaderManagerQMLInterface();
readerManager rManager;
private:
signals:
void reqIm();
public slots:
void sendImage(QImage &imgQImage);
};
#endif // READERMANAGERQMLINTERFACE_H
imageReader;
#ifndef IMAGEREADER_H
#define IMAGEREADER_H
#include <QObject>
#include <QImage>
#include <QDebug>
#include <QThread>
#include <QDir>
#include <QFile>
#include <opencv/cv.h>
class imageReader : public QObject
{
Q_OBJECT
public:
explicit imageReader(QObject *parent = 0);
~imageReader();
imgHelpers imHelpers;
signals:
void sendImage(QImage &imgQImage);
public slots:
void requestImage();
void setFrame(int frameID);
void loadImage(QString fileName);
}
I'm emitting signal like this;(in case my mat2Image function causes the problem, i tried both)
void imageReader::requestImage()
{
images.at(currentImageID).copyTo(this->currentImage);
processImage(currentImage);
emit sendImage(imHelpers.mat2Image(this->currentImage) );
//emit sendImage(QImage("d:/test.bmp"));
}
I opened an issue in bugreports.qt.io and looks like problem is related to Visual Studio. You can find details in here.
Edit: When i say "problem is related visual studio" i mean "Visual Studio lead me in the wrong direction", my emit line should give compile error in the first place like gcc.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With