QT Creator:简单程序的未解决的外部符号和外部错误

时间:2017-04-27 22:13:57

标签: c++ qt

我正在学习Q Creator并且正在学习教程,当我尝试编译时,我收到了这些错误:

  

moc_mainwindow.obj:-1:错误:LNK2019:未解析的外部符号" private:void __cdecl MainWindow :: on_actionNew_Window_triggered(void)" (?on_actionNew_Window_triggered @ MainWindow @@ AEAAXXZ)在函数&#34中引用; private:static void __cdecl MainWindow :: qt_static_metacall(class QObject *,enum QMetaObject :: Call,int,void * *)" (?qt_static_metacall @ @@ MainWindow的@@ CAXPEAVQObject @ W4Call @@ QMetaObject @ HPEAPEAX Z)

     

     

debug \ Program5 - ShowingDifferentWindowTypes.exe:-1:错误:LNK1120:   1个未解决的外部

我已经有一些其他程序没有问题,但我在这个程序中做的不同之处在于我创建了一个新表单,以便我可以测试创建一个模态和无模式窗口。

我已经尝试右击项目文件然后清理,构建qmake,然后运行 ​​- 我已经在这里看到了解决方案。

以下是我认为可能引起问题的代码,但我并不完全确定。

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "modaldialog.h" //Need to include for each new file you make; Basic C++ rules apply.

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

    //This sets the main portion of the window to whatever Qobject is inside of it.
    setCentralWidget(ui->plainTextEdit);
}

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

//Creates a Dialog Window that cannot be clicked out out of unless closed.
void MainWindow::on_actionModal_Window_triggered()
{
    ModalDialog mDialog;
    mDialog.setModal(true);
    mDialog.exec();
}

如果您需要任何其他文件,请告诉我,但这是我实际添加代码的唯一文件。

1 个答案:

答案 0 :(得分:0)

您在cpp文件中缺少MainWindow::on_actionNew_Window_triggered()的定义。