• 4902阅读
  • 16回复

急需各位大哥大姐帮小弟一把(在线等答案)     [复制链接]

上一主题 下一主题
离线zxings
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-06
错误消息:
alu@linghai:~/QT/qt$ make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -I.ui/ -I.moc/ -o .obj/main.o main.cpp
g++  -o lcd .obj/lcd.o .obj/main.o    -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
.obj/lcd.o: In function `LCD':
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
collect2: ld 返回 1
make: *** [lcd] 错误 1
附件: lcd.cpp (1 K) 下载次数:5
附件: lcd.h (1 K) 下载次数:4
附件: main.cpp (1 K) 下载次数:5
离线zxings
只看该作者 1楼 发表于: 2009-11-06
小弟在线等答案  先谢谢大伙了哦!!!
离线jorneyr

只看该作者 2楼 发表于: 2009-11-06
这个问题引出的比较多,贴源码
离线zxings
只看该作者 3楼 发表于: 2009-11-06
我源码传上去了  就是附件里头的  
离线rqzrqh

只看该作者 4楼 发表于: 2009-11-06
QVBox不是一个部件类
离线rqzrqh

只看该作者 5楼 发表于: 2009-11-06
Q_OBJECT;
这个宏不需要加;
离线zxings
只看该作者 6楼 发表于: 2009-11-06
Q_OBJECT这个宏不加也是那个错误哦。。。
离线rqzrqh

只看该作者 7楼 发表于: 2009-11-06
另外楼主的代码写的真不是人看的
继承乱用,代码格式非常乱
离线zxings
只看该作者 8楼 发表于: 2009-11-06
那楼上的大哥您帮小弟改一下吧    小弟在此不胜感激哦   !!!
离线rqzrqh

只看该作者 9楼 发表于: 2009-11-06
没有QT3,编译出现更多问题。
QVBox 是个部件类,说错了。
离线zxings
只看该作者 10楼 发表于: 2009-11-06
我是个十足的QT菜鸟  不好意思哦
离线rqzrqh

只看该作者 11楼 发表于: 2009-11-06
MyWidget里面也没有 Q_OBJECT。
写的精简一点,杂七杂八的东西掺在一起可不是好主意。
另外,再看看书,把例子看懂。
离线zxings
只看该作者 12楼 发表于: 2009-11-06
我在类里加了宏Q_OBJECT后错误信息:
alu@linghai:~/QT/qt$ make
g++ -c -pipe -g -Wall -W -O2 -D_REENTRANT  -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include/qt3 -I.ui/ -I.moc/ -o .obj/main.o main.cpp
g++  -o lcd .obj/lcd.o .obj/main.o    -L/usr/share/qt3/lib -L/usr/X11R6/lib -lqt-mt -lXext -lX11 -lm -lpthread
.obj/lcd.o: In function `LCD':
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for LCD'
collect2: ld 返回 1
.obj/lcd.o: In function `QWidget':
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for QWidget'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for QWidget'
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable forQWidget
/home/alu/QT/qt/lcd.cpp:8: undefined reference to `vtable for QWidget
collect2: ld 返回 1
make: *** [lcd] 错误 1
make: *** [lcd] 错误 1
离线rqzrqh

只看该作者 13楼 发表于: 2009-11-06
一切从QObject继承过来的类,如果想要使用元对象系统的功能(信号槽等),是必须要加Q_OBJECT的
别被编译错误误导了。
离线zxings
只看该作者 14楼 发表于: 2009-11-06
哦   那我再试试  先谢谢您了
离线foxyz

只看该作者 15楼 发表于: 2009-11-09
vtable for LCD'

这种错误一般是头文件少点什么或者多点什么,比如分号之类的

#ifndef LCD_H
#define LCD_H

#include<qvbox.h>
class QSlider;
class LCD:public QVBox
{
    Q_OBJECT;  //你看看,你多了点什么
    public:
        LCD(QWidget *parent=0,const char *name=0);
                  int value() const;
    public slots:
          void setValue(int);
     signals:
         void valueChange(int);
    private:
      QSlider *slider;
    };
#endif   //LCDRANGE_H

离线huha2018
只看该作者 16楼 发表于: 2009-11-09
"Q_OBJECT"  半角 全角?
快速回复
限100 字节
 
上一个 下一个