我的项目中有这个信号;
void sendImage(cv::Mat &imgMat, QImage &imgQImage);
项目在Mingw和Visual Studio上编译但是当我尝试为Android构建时,我得到“错误:没有匹配函数来调用imageReader :: sendImage(cv :: Mat&,QImage)”错误。
我在不同项目上测试了我的专业文件,尝试清理/运行qmake / clean / rebuild,从信号中删除cv :: Mat但没有任何效果。
可能是什么问题?
编辑;
#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);
}
我发出这样的信号;(如果我的mat2Image函数导致了问题,我试过了)
void imageReader::requestImage()
{
images.at(currentImageID).copyTo(this->currentImage);
processImage(currentImage);
emit sendImage(imHelpers.mat2Image(this->currentImage) );
//emit sendImage(QImage("d:/test.bmp"));
}
答案 0 :(得分:4)
我在bugreports.qt.io中打开了一个问题,看起来问题与Visual Studio有关。您可以在here中找到详细信息。
编辑:当我说&#34;问题与视觉工作室有关时#34;我的意思是&#34; Visual Studio引导我走向错误的方向&#34;,我的发射线应该首先给出编译错误,如gcc。