Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Can';安卓系统中的t发射信号_Android_Qt - Fatal编程技术网

Android Can';安卓系统中的t发射信号

Android Can';安卓系统中的t发射信号,android,qt,Android,Qt,我在我的项目中有这个信号 void sendImage(cv::Mat &imgMat, QImage &imgQImage); 该项目在Mingw和visualstudio上都可以编译,但当我尝试为Android构建时,我得到了“错误:没有匹配的函数用于调用imageReader::sendImage(cv::Mat&,QImage)”错误 我在不同的项目上测试了我的pro文件,尝试清理/运行qmake/clean/rebuild,从信号中删除cv::Mat,但没有任何效果

我在我的项目中有这个信号

void sendImage(cv::Mat &imgMat, QImage &imgQImage);
该项目在Mingw和visualstudio上都可以编译,但当我尝试为Android构建时,我得到了“错误:没有匹配的函数用于调用imageReader::sendImage(cv::Mat&,QImage)”错误

我在不同的项目上测试了我的pro文件,尝试清理/运行qmake/clean/rebuild,从信号中删除cv::Mat,但没有任何效果

有什么问题吗

编辑

我在中打开了一个问题,看起来问题与Visual Studio有关。您可以在中找到详细信息


编辑:当我说“问题与visual studio有关”时,我的意思是“visual studio将我引向了错误的方向”,我的emit行首先应该给出编译错误,就像gcc一样。

你能发布类定义的完整代码吗?@Tay2510;我已经更新了定义。我认为
imageReader
是应该随代码一起提供的类。@Tay2510;我再次使用imageReader进行了更新。编译器说“错误:调用imageReader::sendImage(cv::Mat&,QImage)没有匹配的函数”,因为您的信号定义是
void sendImage(QImage&imgQImage)您无法连接到甚至不存在的信号。不,正如开发人员在错误报告中告诉您的,错误在于您的信号应该有一个QImage参数,而不是QImage&参数。它在VisualStudio中工作,但不应该。它在gcc中不起作用,这就是为什么你在Android上遇到麻烦的原因。
#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
#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);
    }
void imageReader::requestImage()
{
    images.at(currentImageID).copyTo(this->currentImage);
    processImage(currentImage);
    emit sendImage(imHelpers.mat2Image(this->currentImage) );
  //emit sendImage(QImage("d:/test.bmp"));
}