天天看点

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

关于如何从源码编译QGIS,请参见《Win10下通过源码编译安装QGIS》。源码编译出可执行文件后,启动会遇到各种问题。说明如下:

1.开发环境说明

  • Qt:5.14.1
  • VS:2019
  • CMake:3.23.0
  • QGIS:3.26.2
  • 操作系统:Windows 10
  • 调试模式:release版

注意:请不要用debug版本调试,具体原因参见 《Win10下通过源码编译安装QGIS》。

2.问题说明

2.1.Windows Error:找不到指定的模块

报错如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

解决方法:搜索E:\QGIS\OSGeo4W目录下的所有的dll及plugins目录将其放到程序同一个目录下。

 注意:当QGIS.exe启动起来,可以尝试将一些不必要的dll删除,如:在release版本下可以删除debug版的Qt相关的dll,反复试,直到所需dll最少。其中上述目录、库路径为Win10下通过源码编译安装QGIS博文编译安装之后生成的路径,请参见该博文并根据自己本机实际路径更改,下同。 

2.2 启动立马退出

启动调试时,程序退出,退出的位置在Qgispython模块qgspythonutilsimpl.cpp文件的QgsPythonUtilsImpl类的init()运行到Py_Initialize()行代码程序崩溃退出。解决方法如下:在path环境变量下,添加变量值为:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 添加环境变量PYTHONPATH,变量值如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 2.3 ImportError:DLL load failed while import QtCore

在2.2节配置好的条件下,在cmd中,敲入python,然后在python的命令行敲入:

from qgis.core import*

弹出如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 解决方法如下:

安装QGIS官方的QGIS-OSGeo4W-3.26.2-1.msi,安装完后将QGIS3.26.2\bin目录复制并替换E:\QGIS\OSGeo4W\bin,(替换之前请注意备份),并将E:\QGIS\OSGeo4W\bin的protoc.exc拷贝过去。

2.4.ModuleNotFound Error:No Module named 'qgis._core'

报错如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 这个问题找了3天,至今没解决,我感觉同2.3节问题是同一个问题,有知道怎么解决的,敬请留言,十分感谢,这个问题不解决,主界面弹出如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

即有个红色错误提示框。 

2.5 面板节点有些没有 

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 原因是QGIS源码provider_开头的插件工程没有编译成dll。

2.6 界面有些图标不显示

       如2.4节图所示,很多图标不显示,解决方法,参见《QGIS.exe图标不显示问题》。

2.7 Qt 平台插件未初始化

弹出错误如下:

QGIS从源码启动遇到的问题汇总1.开发环境说明2.问题说明

 解决方法如下:

将E:\QGIS\OSGeo4W\apps\qt5\plugins\platforms拷贝到qgis.exe同一目录下。

 参考链接:Qgis+python开发环境配置和简单教程_特快仓鼠的博客-CSDN博客_python qgis