繁体   English   中英

Qt应用程序在退出时崩溃

[英]Qt application crashing on exit

我有一个用Ct编写的用Qt库编写的GUI。 对于我的应用程序,我使用了TreeView对象。 为了简化这个对象的重用,我创建了一个模板化的类,我的QObjects可以继承它。 由于moc无法使用模板化类,因此我创建了这样的类:

class Tree : public QObject, public TreeTemplate<TreeType, TreeItemType>
{
     Q_OBJECT
};

这样只允许Tree类使用moc(TreeTemplate不继承QObject或使用Q_OBJECT宏),同时获得模板的好处。

我的问题是,在退出我的应用程序崩溃时,即使我调用exit并跳过QApplication清理,也不会失败。 我在想moc的生成类可能存在问题,它们的“静态元对象”

我不能使用valgrind,因为使用__ASM__它无法处理。 :-(

有没有人知道我使用模板化的Qt类(+ moc)设计继承了模板化的类会导致这个问题吗?

崩溃在:libc.so退出后。

AFAIK,你的方法不起作用。

moc在C ++预处理器之前运行,这就是QObject和模板化类不起作用的原因 - 预处理器还没有生成类。 您正在对类进行模板化,因此moc关于类的数据将与预处理器期间从其创建的任何模板类的签名不匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM