Portál AbcLinuxu, 14. července 2025 00:02


Dotaz: QT MainWidget

24.4.2007 17:56 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
QT MainWidget
Přečteno: 298×
Odpovědět | Admin
Když se snažím na Linuxu zkompilovat jednoduchý QT program co jsem dělal ve škole na Windows, tak mi to hlásí:
/tmp/ccb7jhDH.o(.text+0x130): In function `MainWidget::MainWidget(QWidget*, char const*)':
calculator.cpp: undefined reference to `vtable for MainWidget'
/tmp/ccb7jhDH.o(.text+0x13c):calculator.cpp: undefined reference to `vtable for MainWidget'
/tmp/ccb7jhDH.o(.text+0x184c): In function `MainWidget::MainWidget(QWidget*, char const*)':
calculator.cpp: undefined reference to `vtable for MainWidget'
/tmp/ccb7jhDH.o(.text+0x1858):calculator.cpp: undefined reference to `vtable for MainWidget'
/tmp/ccb7jhDH.o(.gnu.linkonce.t._ZN10MainWidgetD1Ev+0x14): In function `MainWidget::~MainWidget()':
calculator.cpp: undefined reference to `vtable for MainWidget'
/tmp/ccb7jhDH.o(.gnu.linkonce.t._ZN10MainWidgetD1Ev+0x20):calculator.cpp: more undefined references to `vtable for MainWidget' follow
collect2: ld returned 1 exit status
Asi za to může tento řádek
MainWidget::MainWidget( QWidget *parent, const char *name ): QWidget( parent, name){
Jak ho mám upravit, aby mi ta kompilace fungovala i na Linuxu? Co je to ta vtable for MainWidget?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Luboš Doležel (Doli) avatar 24.4.2007 18:01 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: QT MainWidget
Odpovědět | | Sbalit | Link | Blokovat | Admin
Generuje a kompiluje se správně kód z preprocesoru? Odpovídá Makefile aktuálnímu .pro souboru?
24.4.2007 18:06 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: QT MainWidget
Jaký Makefile? Já to kompiluju pomocí
g++ -o calculator calculator.cpp -I/opt/qt/include/ -L/opt/qt/lib/ -lqt
Ve škole jsme měli jenom VisualStudio, tam se to kompiluje jedním tlačítkem a pod Linuxem nevím jak to jinak zkompilovat. Ten příklad máme jako ukázku programování v Qt.
24.4.2007 18:12 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: QT MainWidget
Tak už jsem na to přišel;-) Po té zmínce o tom .pro souboru mi došlo, že se to asi ke kompilaci nestačí obyčejné g++ a na stránkách trolltechu jsem našel, že je potřeba použít příkazy:
qmake -project
qmake
make
24.4.2007 19:02 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: QT MainWidget
Hmm, Qt prostě potřebuje soubory předzpracovat, jelikož mu primitivní C++ nestačí a potřebuje nějaké nadstavby. :-) Proto ten můj zvědavý dotaz na způsob kompilace. ;-)
24.4.2007 18:08 Kyosuke | skóre: 28 | blog: nalady_v_modre
Rozbalit Rozbalit vše Re: QT MainWidget
Odpovědět | | Sbalit | Link | Blokovat | Admin
VTable: http://en.wikipedia.org/wiki/Virtual_method_table .

Můžeš uvést nějaké podrobnosti ke způsobu kompilace?
Jak moc jsou ábíčkáři inteligentní? ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.