【问题标题】:Unresolved external symbol in qt project [duplicate]qt项目中未解析的外部符号[重复]
【发布时间】:2016-10-13 00:49:29
【问题描述】:

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

我得到的错误是未解析的外部符号。有问题的符号是一个名为 AdventureDocs 的类。表头如下。

#ifndef ADVENTUREDOCS_H
#define ADVENTUREDOCS_H

#include <QWidget>

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

#endif // ADVENTUREDOCS_H

和cpp

#include "adventuredocs.h"
#include <QHBoxLayout>
#include <QVBoxLayout>
#include <QPushButton>
#include <QLabel>
#include <QTabWidget>

AdventureDocs::AdventureDocs(QObject *parent): QWidget(parent)
{
    QHBoxLayout *hLayout = 0;
    QVBoxLayout *vLayout = 0;
    QPushButton *button = 0;
    QLabel *label = 0;

    hLayout = new QHBoxLayout();
    Q_ASSERT(hLayout);

    vLayout = new QVBoxLayout();
    Q_ASSERT(vLayout);

    // Set the layout to the widget
    setLayout(hLayout);
    hLayout->addLayout(vLayout);

    // Draw widgets on main page.
    label = new QLabel(hLayout);
    Q_ASSERT(label);
    hLayout->addWidget(label);

    label->setText("Adventure Docs");
}

这是一个类而不是库或类似我使用在 qt creator 中添加新类来添加它的类,并将标头和 cpp 添加到项目文件中,如下所示。

#-------------------------------------------------
#
# 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

最后在我创建 AdventureDocs 对象的主窗口 .cpp 中出现错误。

#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;
}

谁能指出我明显错过的明显流血,谢谢。

【问题讨论】:

  • 你到底得到了哪个错误?
  • 这是一个未解决的外部符号错误,但我现在已经解决了。就像我说的那样,很明显,自从添加文件以来,我没有重新运行 qmake。

标签: c++ qt unresolved-external


【解决方案1】:

现在整理好了。是我很傻,没有重新运行 qmake

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 2013-11-10
    • 2022-08-03
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多