2014-01-08 1 views
1
#include "mainwindow.h" 
#include "ui_mainwindow.h" 
#include "dialog.h" 

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

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

void MainWindow::on_actionDoit_triggered() 
{ 
    Dialog D; 
    D.setModal(true); 
    D.exec(); 
} 

Этот небольшой фрагмент кода дает мне компоновщика ошибки LNK2019 и LNK1120 Если удалить три строки в функции пустот MainWindow :: on_actionDoit_triggered(), это работает. Учебное пособие, которое я следую, не предупреждало о проблемах с компоновщикомQt, связывающие проблемы

+0

Если код компилируется правильно и у меня есть ошибки компоновщика, я удаляю папку сборки и восстановления, и это, кажется, компиляции и компоновки в порядке, не конечно, почему –

+0

Что вы делаете, чтобы скомпилировать программу? Обычная компиляция, * Qt Creator *, * QMake *? ** Изменить **: можете ли вы дать ссылку на учебник? – beakr

+0

Ну, я использую компилятор MSVC, а также строю его с помощью кнопки build (ctrl + B) –

ответ

1

Очевидно, вы получили его, не меняя код, просто повторно запустив qmake явно.

Причина, скорее всего, в том, что вы изменили файл проекта qmake, а у QtCreator возникли проблемы с пониманием необходимости повторного запуска qmake.

Существует давняя ошибка об этом:

Creator should know when to rerun qmake