首页 > 代码库 > qt 环境下mapx组件打包后编译产生c2248和c2512错误

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错误