主题 : x86-qtopia 下编译C++程序不支持多重继承吗? 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 9123
精华: 0
发帖: 19
金钱: 135 两
威望: 45 点
综合积分: 38 分
注册时间: 2009-09-17
最后登录: 2010-11-12
楼主  发表于: 2010-04-22 10:14

 x86-qtopia 下编译C++程序不支持多重继承吗?

   我在X86-qtopia 下编译./build 程序出现如下报错:
[root@tom Multi_thread_fbli]# ./build
rm -f .obj/release-shared/moc_sinthread.o .obj/release-shared/moc_trithread.o .obj/release-shared/moc_mainwindow.o .obj/release-shared/moc_button_fbli_base.o
rm -f .moc/release-shared/moc_sinthread.cpp .moc/release-shared/moc_trithread.cpp .moc/release-shared/moc_mainwindow.cpp .moc/release-shared/moc_button_fbli_base.cpp
rm -f .ui/release-shared/button_fbli_base.cpp .ui/release-shared/button_fbli_base.h
rm -f .obj/release-shared/sinthread.o .obj/release-shared/trithread.o .obj/release-shared/mainwindow.o .obj/release-shared/main.o .obj/release-shared/button_fbli_base.o
rm -f *~ core *.core
/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qt2/bin/uic button_fbli_base.ui -o .ui/release-shared/button_fbli_base.h
g++ -c -pipe -DQWS -fno-exceptions -fno-rtti -Wall -W -Os  -DQTOPIA_DATA_LINKING -DQCONFIG=\"qconfig-qpe.h\" -DQTOPIA_TARGET=\"multi_thread_fbli\" -DQTOPIA_TRTARGET=\"multi_thread_fbli\" -DQT_NO_DEBUG -I/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/mkspecs/qws/linux-generic-g++ -I. -I../qtopia-2.2.0-FriendlyARM/qtopia/include -I../qtopia-2.2.0-FriendlyARM/qt2/include -I.ui/release-shared/ -I.moc/release-shared/ -o .obj/release-shared/sinthread.o sinthread.cpp
In file included from sinthread.cpp:2:
sinthread.h:16: error: expected class-name before ‘{’ token
make: *** [.obj/release-shared/sinthread.o] Error 1
出错的文件sinthread.h如下:

   1 #ifndef SINTHREAD_H
      2 #define SINTHREAD_H
      3
      4 #include <qdialog.h>
      5 #include <qwidget.h>
      6 #include <qcolor.h>
      7 #include <qpainter.h>
      

     8 #include <qtimer.h>
      9 #include <qframe.h>
     10 #include <qapplication.h>
     11 #include <qthread.h>
     12 #include <math.h>
     13
     14 class SinThread : public QWidget,public QThread
     15 //class SinThread : public QWidget
     16 {
     17    Q_OBJECT
     18   public:
     19         SinThread(QWidget *parent =0,const char *name =0,
     20                 QFrame *f =NULL);
     21         void run();
     22         void stop();
     23   protected:
     24         virtual void paintEvent(QPaintEvent*);
     25   private slots:
     26         void flushBuff();
     27   private:
     28         int buffer[200];
     29         QTimer *timer;
     30         QFrame *frame;
     31 };
     32 #endif
报错在第16行,如果我注释掉第14行,打开第15行,再编译就成功了,我试了下 用g++单独编译一个多重继承程序是可以的。难道在Qtopia下不支持多重继承吗?我用的是Qtopia2.2.0.
请大侠们指点迷津啊。