头文件内容为:
#ifndef _TMP_H
#define _TMP_H
#include <QtGui/QtGui>
class MyDialog : public QDialog
{
Q_OBJECT
public:
MyDialog();
};
#endif
CPP文件内容为:
#include <QtGui/QtGui>
#include "tmp.h"
MyDialog::MyDialog()
{
this->show();
}
int main(int argc, char **argv)
{
QApplication app(argc, argv);
MyDialog *pdlg = new MyDialog;
return app.exec();
}
=================
请问为什么编译的时候出现:
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/local/Trolltech/Qt-4.4.3/mkspecs/linux-g++ -I. -I/usr/local/Trolltech/Qt-4.4.3/include/QtCore -I/usr/local/Trolltech/Qt-4.4.3/include/QtCore -I/usr/local/Trolltech/Qt-4.4.3/include/QtGui -I/usr/local/Trolltech/Qt-4.4.3/include/QtGui -I/usr/local/Trolltech/Qt-4.4.3/include -I. -I. -I. -o tmp.o tmp.cpp
tmp.cpp: In function ‘int main(int, char**)’:
tmp.cpp:14: warning: unused variable ‘pdlg’
g++ -Wl,-rpath,/usr/local/Trolltech/Qt-4.4.3/lib -o tmp tmp.o -L/usr/local/Trolltech/Qt-4.4.3/lib -lQtGui -L/usr/local/Trolltech/Qt-4.4.3/lib -L/usr/X11R6/lib -pthread -lpng -lSM -lICE -pthread -pthread -lXi -lXrender -lXrandr -lfreetype -lfontconfig -lXext -lX11 -lQtCore -lz -lm -pthread -lgthread-2.0 -lrt -lglib-2.0 -ldl -lpthread
tmp.o: In function `MyDialog::MyDialog()':
tmp.cpp:(.text+0x2f): undefined reference to `vtable for MyDialog'
tmp.cpp:(.text+0x36): undefined reference to `vtable for MyDialog'
tmp.cpp:(.text+0x47): undefined reference to `vtable for MyDialog'
tmp.o: In function `MyDialog::MyDialog()':
tmp.cpp:(.text+0x9f): undefined reference to `vtable for MyDialog'
tmp.cpp:(.text+0xa6): undefined reference to `vtable for MyDialog'
tmp.o:tmp.cpp:(.text+0xb7): more undefined references to `vtable for MyDialog' follow
collect2: ld returned 1 exit status
make: *** [tmp] Error 1
为什么会出现上面的错误阿