开发环境:VS2015 + Qt5.11.2 + QGis3.16.7 + 64位 + Release
问题描述:
1、使用QGIS桌面程序创建工程文件(通过wms加载远程图层),通过代码进行加载;
2、代码中加载qgis工程文件,无法显示wms数据;
解决方法:
1、确保代码运行时加载了wmsprovider插件库;
解决:使用QgsApplication::setPluginPath()设置QGis的插件目录;
2、确保设置了QGis的数据目录(QGis的resources文件夹所在目录);
解决:使用QgsApplication::setPkgDataPath()设置QGis的数据目录;
其它说明:
1、确保代码调用了qgswmsprovider.cpp中的providerMetadataFactory接口创建QgsWmsProviderMetadata对象;
2、通过QgsApplication::setPkgDataPath()加载srs6.db,坐标参考系;
3、QGis Release下调用QgsApplication::initQgis()崩溃;解决方法:删除插件目录下的Debug库;
4、QGIS Debug下调用QgsApplication::initQgis()崩溃,未查找原因;