C++ qt项目中未解析的外部符号

C++ qt项目中未解析的外部符号,c++,qt,unresolved-external,C++,Qt,Unresolved External,好吧,花30分钟左右的时间看看这个问题的常见原因,我看不出有什么不对 我得到的错误是未解析的外部符号。所讨论的符号是一个名为AdventureDocs的类。标题如下 #ifndef ADVENTUREDOCS_H #define ADVENTUREDOCS_H #include <QWidget> class AdventureDocs : public QWidget { Q_OBJECT public: AdventureDocs(QObject *paren

好吧,花30分钟左右的时间看看这个问题的常见原因,我看不出有什么不对

我得到的错误是未解析的外部符号。所讨论的符号是一个名为AdventureDocs的类。标题如下

#ifndef ADVENTUREDOCS_H
#define ADVENTUREDOCS_H

#include <QWidget>

class AdventureDocs : public QWidget
{
    Q_OBJECT
public:
    AdventureDocs(QObject *parent);
};

#endif // ADVENTUREDOCS_H
#-------------------------------------------------
#
# Project created by QtCreator 2016-06-12T11:06:47
#
#-------------------------------------------------

QT       += core gui

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

TARGET = AdventureDocs
TEMPLATE = app


SOURCES += main.cpp\
        mainwindow.cpp \
    adventuredocs.cpp

HEADERS  += mainwindow.h \
    adventuredocs.h

FORMS    += mainwindow.ui
最后,在mainwindow.cpp中,我创建了一个AdventureDocs对象,在这里我得到了错误

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include "adventuredocs.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    AdventureDocs *main = 0;

    main =  new AdventureDocs(this);
    if (main != 0)
    {
        setCentralWidget(main);
    }
}

MainWindow::~MainWindow()
{
    delete ui;
}
#包括“mainwindow.h”
#包括“ui_main window.h”
#包括
#包括“adventuredocs.h”
主窗口::主窗口(QWidget*父窗口):
QMainWindow(父级),
用户界面(新用户界面::主窗口)
{
用户界面->设置用户界面(此);
AdventureDocs*main=0;
main=新的AdventureDocs(本);
如果(主!=0)
{
setCentralWidget(主);
}
}
MainWindow::~MainWindow()
{
删除用户界面;
}

有人能指出我明显遗漏的出血点吗?谢谢。

现在就解决了。我是不是太傻了,没有重新运行qmake

,你到底遇到了什么错误?这是一个未解决的外部符号错误,但我现在已经解决了。就像我说的,很明显自从添加文件后我没有重新运行qmake。
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QPushButton>
#include "adventuredocs.h"
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    AdventureDocs *main = 0;

    main =  new AdventureDocs(this);
    if (main != 0)
    {
        setCentralWidget(main);
    }
}

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