• 7998阅读
  • 6回复

【提问】这是什么错误? [复制链接]

上一主题 下一主题
离线hehe
 
只看楼主 倒序阅读 楼主  发表于: 2005-11-15
我在编译程序是出现这种错误,不明白是哪里错了,帮忙看看吧:)
line.o(.text+0x33): In function `MyWindow::MyWindow[not-in-charge]()':
/home/bbb/line.cpp:5: undefined reference to `vtable for MyWindow'
line.o(.text+0x3a):/home/bbb/line.cpp:5: undefined reference to `vtable for MyWi
ndow'
line.o(.text+0x213): In function `MyWindow::MyWindow[in-charge]()':
/home/bbb/line.cpp:5: undefined reference to `vtable for MyWindow'
line.o(.text+0x21a):/home/bbb/line.cpp:5: undefined reference to `vtable for MyW
indow'
main.o(.text+0x52): In function `main':
/home/bbb/main.cpp:6: undefined reference to `vtable for MyWindow'
main.o(.text+0x57):/home/bbb/main.cpp:6: more undefined references to `vtable fo
r MyWindow' follow
collect2: ld returned 1 exit status
make: *** [bbb] Error 1



## " undefined reference to `vtable for MyWindow' "是什么意思?

谢谢!!
[ 此贴被XChinux在2005-11-15 11:52重新编辑 ]
离线mudfish
只看该作者 1楼 发表于: 2005-11-15
google上搜索qt undefined reference to `vtable for
你可以找到很多别人的解决方法.
离线paul
只看该作者 2楼 发表于: 2005-11-15
查查你的makefile中moc_file.cpp 有没有缺少,或者错误
离线hehe
只看该作者 3楼 发表于: 2005-11-15
好的.
谢谢:)
离线tdns

只看该作者 4楼 发表于: 2005-11-16
我也碰到过这个问题,这是Q_OBJECT的宏出的问题。可能是你的某个使用了信号和槽的类里面没有加上Q_OBJECT宏,或者是你这个类本来没有用到信号和槽,后来加上的,但是.pro文件里没有被及时更新。
解决办法是,首先,你确保你的所有用到信号和槽的的类里面都包含了Q_OBJECT宏,然后,在你的主目录下重新生成.pro文件和makefile,再编译,就是
qmake -project
qmake
make
应该就没问题了。
离线masan
只看该作者 5楼 发表于: 2005-11-16
我也遇到了这个问题,并且没有生成moc_file.cpp文件,只有.pro文件.明天再来看看是什么原因
没有slots就能编译通过

第一次用QT编程....
[ 此贴被masan在2005-11-16 22:48重新编辑 ]
离线masan
只看该作者 6楼 发表于: 2005-11-17
我的问题解决了,不知道你的是不是和我的一样

将你的程序写成file.h,file.cpp的形式就行了
快速回复
限100 字节
 
上一个 下一个