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生成目录下,可解决这个问题。

  请原谅我满是怒气的写下这篇博客,是我无能......

 

posted @   77_learning  阅读(327)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)
点击右上角即可分享
微信分享提示