Файл не найден: mainwindow.obj
Я слот метод, я пытаюсь показать созданный диалог, но я получаю следующие ошибки:
mainwindow.obj: -1: ошибка: LNK2019: неразрешенный внешний символ "public: __cdecl EditStudentDialog :: EditStudentDialog (класс QWidget *)" (?? 0EditStudentDialog @@ QEAA @ PEAVQWidget @@@ Z), на который есть ссылка в функции "private: void __de" MainWindow :: on_actionNew_triggered (void) "(? On_actionNew_triggered @ MainWindow @@ AEAAXXZ)
mainwindow.obj: -1: ошибка: LNK2019: неразрешенный внешний символ "public: virtual __cdecl EditStudentDialog :: ~ EditStudentDialog (void)" (?? 1EditStudentDialog @@ UEAA @ XZ), на который есть ссылка в функции "private: void __cdecl MainWindow_t_red_name_action (void) "(? on_actionNew_triggered @ MainWindow @@ AEAAXXZ)
Это главное окно:
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
private slots:
void on_actionNew_triggered();
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include "editstudentdialog.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_actionNew_triggered()
{
EditStudentDialog editDialog;
editDialog.setModal(true);
editDialog.exec();
}
Это диалоговое окно (просто пустое, без элементов управления):
#ifndef EDITSTUDENTDIALOG_H
#define EDITSTUDENTDIALOG_H
#include <QDialog>
namespace Ui {
class EditStudentDialog;
}
class EditStudentDialog : public QDialog
{
Q_OBJECT
public:
explicit EditStudentDialog(QWidget *parent = 0);
~EditStudentDialog();
private:
Ui::EditStudentDialog *ui;
};
#endif // EDITSTUDENTDIALOG_H
#include "editstudentdialog.h"
#include "ui_editstudentdialog.h"
EditStudentDialog::EditStudentDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::EditStudentDialog)
{
ui->setupUi(this);
}
EditStudentDialog::~EditStudentDialog()
{
delete ui;
}
Что я делаю неправильно?
РЕДАКТИРОВАТЬ: Это файл .pro
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
TARGET = GUI1
TEMPLATE = app
SOURCES += main.cpp\
mainwindow.cpp \
editstudentdialog.cpp
HEADERS += mainwindow.h \
editstudentdialog.h
FORMS += mainwindow.ui \
editstudentdialog.ui
PS: я пытался очистить проект, а затем собрать его, но проблема все та же.
РЕДАКТИРОВАТЬ 2: я использую Qt Creator 2.7 с Qt 5.0.2