C++ LNK2005错误,函数在.obj中定义

C++ LNK2005错误,函数在.obj中定义,c++,qt,C++,Qt,这是我在这个论坛上的第一个问题,所以对于已经包含代码的格式我很抱歉 我正在处理的小项目中出现了一个LNK2005错误,SOF和web上其他页面上的大多数问题都是在另一个.cpp代码中错误地包含了.cpp代码,或者是双重包含了.h代码片段。虽然这对其他人有所帮助,但我只有2个标题,它们都只包含在各自的.cpp和main.cpp中。基本上,其他帖子对我来说都是很有帮助的,因为我没有多次包含标题,也没有在标题中定义任何内容,也没有包含.cpps 我的代码: 艾因加贝费尔德 #ifndef EINGAB

这是我在这个论坛上的第一个问题,所以对于已经包含代码的格式我很抱歉

我正在处理的小项目中出现了一个LNK2005错误,SOF和web上其他页面上的大多数问题都是在另一个.cpp代码中错误地包含了.cpp代码,或者是双重包含了.h代码片段。虽然这对其他人有所帮助,但我只有2个标题,它们都只包含在各自的.cpp和main.cpp中。基本上,其他帖子对我来说都是很有帮助的,因为我没有多次包含标题,也没有在标题中定义任何内容,也没有包含.cpps

我的代码:

艾因加贝费尔德

#ifndef EINGABEFELD_H
#define EINGABEFELD_H

#include <QWidget>
#include <QMainWindow>

namespace Ui {
class eingabefeld;
}

class eingabefeld : public QWidget
{
    Q_OBJECT

public:
    explicit eingabefeld(QWidget *parent = 0);
    ~eingabefeld();


signals:
    void signal_taste(char);


private:
    Ui::eingabefeld *ui;
};

#endif // EINGABEFELD_H
uebung.cpp

#include "uebung.h"
#include "ui_uebung.h"


uebung::uebung(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::uebung)
{
    ui->setupUi(this);
}

uebung::~uebung()
{
    delete ui;
}

void uebung::signals_taste(char taste)
{

}
main.cpp

#include "eingabefeld.h"
#include "uebung.h"
#include <QApplication>
#include <QObject>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    uebung w;
   /*
    w.show();
   */
    eingabefeld e;
    e.show();
    QObject::connect(&e,SIGNAL(on_textEdit_textChanged(char)),&w,SLOT(on_textEdit_textChanged(char)));


    return a.exec();
}
#包括“eingabefeld.h”
#包括“uebung.h”
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
乌邦w;
/*
w、 show();
*/
艾因加贝费尔德;
e、 show();
QObject::连接(&e,信号(在文本编辑(字符)),&w,插槽(在文本编辑(字符));
返回a.exec();
}

你在哪里声明了艾因加贝费尔德的
上的文本编辑
信号和乌邦的
上的文本编辑
插槽?啊,我错过了重命名这些。我尝试了一些不同的方法来解决这个问题,其中一种方法是qt creator中的那些预制函数可能会阻塞程序。我只是用正确的名字试了一下。它仍然不起作用。
#include "uebung.h"
#include "ui_uebung.h"


uebung::uebung(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::uebung)
{
    ui->setupUi(this);
}

uebung::~uebung()
{
    delete ui;
}

void uebung::signals_taste(char taste)
{

}
#include "eingabefeld.h"
#include "uebung.h"
#include <QApplication>
#include <QObject>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    uebung w;
   /*
    w.show();
   */
    eingabefeld e;
    e.show();
    QObject::connect(&e,SIGNAL(on_textEdit_textChanged(char)),&w,SLOT(on_textEdit_textChanged(char)));


    return a.exec();
}