QGIS3.22.0+VS2019 window10编译
首先感谢博客 济南友泉软件有限公司 提供的顺序教程。
博客地址:https://blog.csdn.net/qq_26221775/article/details/122792445
这篇博客主要是表示编译时遇到的坑。
1. 一定使用vs2019进行编译。
我刚开始想使用vs2017编译。因此遇到了两个坑。
(1)vs2017编译qgis_core对libprotobuf-lite.lib报错,报错为_CxxFrameHand.
成功的解决办法:安装vs2019,重新cmakevs2019路径。再次编译成功。
错误的解决办法(希望能够帮助排错):头文件上加了#define _CRT_SECURE_NO_DEPRECATE,并且在属性-代码生成-启用c++异常-否。此办法并没有解决问题。浪费编译时间30分钟。
(2)cmake完成后,编译qgis_core,其会首先编译qgis_core_autogen,但是其并没有使用protoc.exe将vector_tile.proto编译成vector_tile.h以及vector_tile.cc。或者不会在build/core中生成相关.h头文件,会一直报错缺少.h。
成功的解决办法:重新更换cmake编译,并且安装完整的Visual C++ Redistributable for Visual Studio 2015-2022环境,并且在环境变量的path中添加OSGeo4W/bin路径以及cygwin64\bin路径。重启电脑。该问题解决,但是会出现上面(1)中的问题。
2. 编译完成后,打开qgis.exe是一定会缺少依赖的。请把OSGeo4W/bin以及cygwin64\bin拷贝到qgis.exe生成目录下。并将OSGeo4W\apps\Qt5\bin以及OSGeo4W\apps\Qt5\plugins同样拷贝到qgis.exe生成目录下。
如果你遇到一下问题,可以使用上面的方法解决:
(1)Could not load qgis_app.dll
这是缺少相关依赖,将OSGeo4W/bin以及cygwin64\bin拷贝到qgis.exe生成目录下,并将OSGeo4W\apps\Qt5\bin拷贝到qgis.exe生成目录下可以解决。请将OSGeo4W\apps\Qt5\plugins同样拷贝到qgis.exe生成目录下。不然会出现以下问题:
(2)no Qt platform plugin cound be initialized.
请将OSGeo4W\apps\Qt5\plugins同样拷贝到qgis.exe生成目录下,可解决这个问题。
请原谅我满是怒气的写下这篇博客,是我无能......
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)