从qt4.8移植到qt5.2后获取运行时错误

从qt4.8移植到qt5.2后获取运行时错误,qt4,qt5,Qt4,Qt5,我用qt4.8.4编写了一个项目。现在我想将我的项目移植到qt5.2。 在将我的项目移植到qt5之后,我运行我的应用程序并得到这个错误 QMetaType::registerType:二进制兼容性中断--类型“QPaintBufferCacheEntry”[1024]的大小不匹配。以前注册的大小为0,现在注册的大小为16 有人能帮我吗? 非常感谢我的问题解决了。这是因为我在项目中使用了opencv libs,并用qt4编译了它。我用qt5重建opencv,现在一切正常这通常是ODR问题。你们所有

我用qt4.8.4编写了一个项目。现在我想将我的项目移植到qt5.2。 在将我的项目移植到qt5之后,我运行我的应用程序并得到这个错误

QMetaType::registerType:二进制兼容性中断--类型“QPaintBufferCacheEntry”[1024]的大小不匹配。以前注册的大小为0,现在注册的大小为16

有人能帮我吗?
非常感谢

我的问题解决了。这是因为我在项目中使用了opencv libs,并用qt4编译了它。我用qt5重建opencv,现在一切正常

这通常是ODR问题。你们所有的翻译单位看到的是同一个类的定义吗?您是否在您代码中的该类型上使用
Q\u DECLARE\u元类型
/
qRegisterMetaType