【发布时间】:2015-04-27 07:03:26
【问题描述】:
我不小心向我的应用程序添加了一个新类,而不仅仅是一个头文件。所以我删除了.cpp文件,因为它几乎是空的(它只是一个小类,一个头文件就足够了)..
但是现在我无法编译我的应用程序,它总是给我错误的未定义引用 .cpp 文件。
然后,我创建了一个新的干净应用程序,并逐个类地复制了内容,但它仍然会因未定义的对 .cpp 文件的引用而产生错误。
为了提供更多信息,我一添加ListObject.h,应用程序就会开始窃听。
#ifndef LISTOBJECT_H
#define LISTOBJECT_H
#include <QObject>
class ListObject : public QObject
{
Q_OBJECT
public:
explicit ListObject(QString &Name, QString &ID) : name(Name), id(ID) {}
~ListObject();
QString Name() const { return id + ":" + name; }
QString getId() const { return id; }
QString getName() const { return name; }
private:
QString name;
QString id;
};
#endif // LISTOBJECT_H
其中没有任何内容可以连接到.cpp 文件,我还从.pro 文件中删除了源条目并尝试删除user.pro 文件。没有任何效果。如果有人知道这是从哪里来的,我会很高兴的。
提前致谢。
【问题讨论】:
-
你能发布编译器返回的确切错误输出吗?还请在您的析构函数中添加一个块:
~ListObject(){}; -
@SebastianLange 哈哈哈没办法,块成功了!我不敢相信我没有看到……非常感谢!!哦,仅供参考,这里是错误:moc_listobject.cpp:-1: error: undefined reference to `ListObject::~ListObject()'