我在一个基于 lib cppunit 的项目中工作,我需要使用 qttestrunner
运行我的测试
我制作了 libqttestrunnerd.a(qmake qttestrunnerlib.pro 和 make ),显然存在链接问题,这里是输出示例:
/home/oumaya/docs/UT_Cpp_Test/main/cppDir/lib/lib/libqttestrunnerd.a(moc_testbrowserdlg.o):(.rodata._ZTV15TestBrowserBase[TestBrowserBase 的 vtable]+0x30): undefined reference to ' QWidget::setName(char const*)'
/home/oumaya/docs/UT_Cpp_Test/main/cppDir/lib/lib/libqttestrunnerd.a(moc_testbrowserdlg.o):(.rodata._ZTV15TestBrowserBase[TestBrowserBase 的 vtable]+0x34): undefined reference 'QObject::insertChild(QObject *)'
QT对象相关的类似消息有很多。
请帮忙
提前谢谢你。
最佳答案
当使用 qt 时,你得到 undefined reference to ...
通常这意味着你继承了一个类,而不是实现它的虚函数。检查您正在继承的 Qt 类的文档,找出它的哪些函数是虚拟的,并在您的类中实现它们。
关于c++ - 在 cppunit 中与 qttestrunner 的链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10603061/