我正在学习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();
}
如果您需要任何其他文件,请告诉我,但这是我实际添加代码的唯一文件。
答案 0 :(得分:0)
您在cpp文件中缺少MainWindow::on_actionNew_Window_triggered()
的定义。