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