• 10311阅读
  • 10回复

在QT里加文件,出现undefined reference to vtable错误 [复制链接]

上一主题 下一主题
离线huales
 

只看楼主 倒序阅读 楼主  发表于: 2006-03-24
请教,我在QT/Src/Widgets里加我自己的一个类QMyFrame(继承自QFrame),
编译通过后当另外一个用到这个类的程序编译时,出现undefined reference to 'vtable for QMyFrame'
错误,
这是为什么?
我在MyFrame.cpp最后一行加#include "MyFrame.moc"也不行,编译QT的时候直接就说MyFrame.moc找不到,
请教该如何在QT里加自己的Widget/Frame类?谢谢!
[ 此贴被XChinux在2006-03-24 16:39重新编辑 ]
离线huales

只看该作者 1楼 发表于: 2006-03-24
另外,这个类如果直接编译在应用程序里是没有问题的,
就是有多处用到,想把它编到QT里去
离线windytwang

只看该作者 2楼 发表于: 2006-03-24
qmake -project
qmake
make
就可以了,因为你加了文件后.pro文件里并不知道你加入了文件
离线huales

只看该作者 3楼 发表于: 2006-03-24
好象QT库里用的都是pri的吧,
qmake -project
这些是给应用程序用的,对QT本身好象没什么用吧?
而且我也已经在相应的pri里加进去了类的头文件和cpp文件
离线windytwang

只看该作者 4楼 发表于: 2006-03-24
你是在windows下用的吗?我是linux下进行qt编程的,所以对pri不是很熟.
但你的问题还有可能是你定义的class和main函数混在一个文件中了,这样即使inclue *.moc也是不行的
如果是的话,你把class的声明和main函数分开来,试试,应该就可以了
离线huales

只看该作者 5楼 发表于: 2006-03-24
不是的,我那是一个类,准备用来供QT的应用程序调用的,
所以那里根本就没有main函数,
只有一个.h和.cpp文件
离线XChinux

只看该作者 6楼 发表于: 2006-03-24
是什么类?
是否是没加Q_OBJECT宏的原因?
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线denixleen

只看该作者 7楼 发表于: 2006-03-24
应该是加了Q_OBJECT而没有重新qmake -project,qmake
离线mysuli312
只看该作者 8楼 发表于: 2009-03-16
同意7楼
离线ppdg
只看该作者 9楼 发表于: 2009-03-16
make clear
make
离线浪漫天使
只看该作者 10楼 发表于: 2009-03-17
千不该万不该 你要在QT/Src/Widgets里面加 还有有人说要重新到那里面重新qmake -project!!!!
在自己的目录加h和cpp编译成动态库不就得了么??干吗要搞到人家的qt库里面??!!
快速回复
限100 字节
 
上一个 下一个