Portál AbcLinuxu, 8. listopadu 2025 11:52
/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 statusAsi 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?
g++ -o calculator calculator.cpp -I/opt/qt/include/ -L/opt/qt/lib/ -lqtVe š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.
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
Proto ten můj zvědavý dotaz na způsob kompilace.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.