qt 环境下mapx组件打包后编译产生c2248和c2512错误

Posted first_semon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 环境下mapx组件打包后编译产生c2248和c2512错误相关的知识,希望对你有一定的参考价值。

C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:760: error: C2248: “MapSpace::IRowCursor::IRowCursor”: 无法访问 private 成员(在“MapSpace::IRowCursor”类中声明)

C:\Qt\Qt5.6.0\5.6\msvc2013\include\QtCore\qmetatype.h:761: error: C2512: “MapSpace::IRowCursor”: 没有合适的默认构造函数可用 

在网上找了大半天都没有都没有找到解决方案,好像突然看到有人说可以看一下源码。

自己就点进去看了一下源,发现问题出现在如下图所示的地方

技术分享

可以看到:new的时候出现了错误,再根据错误的提示类,自己重新写了该类的复制构造和默认构造,将原来的私有宏注释掉,编译通过。

技术分享

然后调用了mapx的方法试了一下,成功弹出“关于”窗口。

技术分享

 

以上是关于qt 环境下mapx组件打包后编译产生c2248和c2512错误的主要内容,如果未能解决你的问题,请参考以下文章

qt之mapx组件编程

Qt编程之mapx组件编程

Qt 环境下的mapx控件-------2

qt环境下Mapx组建的编程---------regoin

QT-MSVC 错误 C2248

QT打包动态库