Russian Qt Forum

Qt => Общие вопросы => Тема начата: soulsaver от Январь 19, 2012, 14:44



Название: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 14:44
main_window.h
Код:
#ifndef MAIN_WINDOW_H
#define MAIN_WINDOW_H
#include <QWidget>
#include <QPushButton>

class main_window : public QWidget{
    Q_OBJECT
public:
   main_window(QWidget *parent=0);
   ~main_window();
};

#endif // MAIN_WINDOW_H
main_window.cpp
Код:
#include "main_window.h"

main_window::main_window(QWidget *parent):QWidget(parent){

}
main_window::~main_window(){

}
main.cpp
Код:
#include <QApplication>
#include "main_window.h"

int main (int argc,char *argv[]){
    QApplication dbfQT(argc,argv);
    main_window wndMain;
    wndMain.show();
    return dbfQT.exec();
}
ппц, кода еще и нет, а он ругается... даже проэкт уже удалял и создавал новый и переписывал все заново... не помогло.. вот не знаю на что думать(. пишет это:
undefined reference to `vtable for main_window'
подскажите плиз. проэкты написанные ранее загружаются и работают нормально.


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 14:54
комментирую обьявление конструктора и деструктора в классе, так-же их реализацию в срр файле и обьявление класса в main, ошибки пропадают... но это естественно не нормально, просто может на мыслю какую вас натолкнет). он как буд-то не считает это за класс, и деструктора не видит, типо как функции простые обрабатывает. не пойму чет я ниче (


Название: Re: не могу понять.. undefined reference..
Отправлено: kambala от Январь 19, 2012, 14:57
#include <main_window.h> замени на #include "main_window.h"

при записи наследования пробелы поставь. вообще говоря, в пробелах, как и в пустых строках, нет ничего плохого, наоборот - повышает читабельность.


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 15:01
в проекте все сделал так же, как и исправил тут). ничего естественно не произошло(. ошибка таже. надеюсь стало по удобнее читать )


Название: Re: не могу понять.. undefined reference..
Отправлено: kuzulis от Январь 19, 2012, 15:08
У меня все компилиццо (QtCreator + MSVS2010).


Название: Re: не могу понять.. undefined reference..
Отправлено: kambala от Январь 19, 2012, 15:12
+1 (та же среда)

попробуй очистить проект, руками удалить оставшиеся файлы и построить снова


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 15:16
спасибо большое что потратили время на это). походу среде разработки крышу порвало..(((. но писать то датьше надо как-то... копировать старые проекты удалять из них все и писать там новую прогу? )))) вариант). но хотелось бы чтоб как у человека все было))). хорошо, щас попробую, отпишусь о результате ).


Название: Re: не могу понять.. undefined reference..
Отправлено: kambala от Январь 19, 2012, 15:28
эээээ, я говорил о файлах, которые создаются при сборке - код не нужно удалять и писать по-новой.


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 15:45
их я тоже удалил)). и не раз). когда нажимаешь пересобрать все, то по идее все файлы удаляются и создаются новые). ну попробовал и руками. никуя. не помогло. создал новый проэкт, начал все по очереди писать, начиная с мейн сипипи, после каждой строки нажимал собрать). короче написал все, без ошибок, перешел на main_window.cpp проинклудил заголовочный, все пучком, и вот только написал реализацию конструктора класса - все, умерла программа.(((


Название: Re: не могу понять.. undefined reference..
Отправлено: mutineer от Январь 19, 2012, 15:46
вот не надо после каждой строки нажимать собрать. Первую сборку проведи только тогда, когда класс (с реализацией) уже написан


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 15:59
вот не надо после каждой строки нажимать собрать. Первую сборку проведи только тогда, когда класс (с реализацией) уже написан
вот не знаю, из-за этого или нет). но сцука сработало)). спасибо )). странно что без конструкторов собрал и все, поездец проэкту.. это так нечаянно нажмешь када нить... ))) спасибо большое ) буду стараться этого больше не делать )


Название: Re: не могу понять.. undefined reference..
Отправлено: mutineer от Январь 19, 2012, 16:01
В процессе сборки Qt выполняет работу по кодогенерации (генерируется метаинформация, код сигналов, код вызова слотов и прочее). Иногда этот механизм неправильно реагирует на изменения. В частности плохо реагирует, если был класс без Q_OBJECT, выполнили сборку, а затем добавили Q_OBJECT и пересобрали


Название: Re: не могу понять.. undefined reference..
Отправлено: soulsaver от Январь 19, 2012, 16:07
спасибо )). да, сталкивался с Q_OBJECT, но от него помогает пересобрать все ). а тут полный якорь). кул форум, уже 3й вопрос тут решился). Спасибо огромное всем кто принимал в этом участие! ))