2. Windows+Msys2+QGis3.36.1编译运行
前言
- 本章讲述在Windows Msys2环境下,编译QGis3.36.1可执行程序
- 注意不同于常规的Windows+Vs编译,本教程使用的是Windows+Msys2
- 使用Windows+Msys2的好处是可以在调试QGis源码==,二次开发可以调试QGis,QGis C++插件也可以进行调试
QGis3.36.1编译运行
安装依赖
- 安装QGis依赖包
pacboy -S protobuf:p gdal:p libzip:p qca-qt5:p gsl:p exiv2:p hdf5:p libxml2:p netcdf:p opencl-icd:p pdal:p proj:p qt5-3d:p qt5-base:p qt5-declarative:p qt5-gamepad:p qt5-location:p qt5-serialport:p qt5-svg:p qtkeychain-qt5:p qtwebkit:p qscintilla-qt5:p qwt-qt5:p spatialindex:p cc:p cmake:p ninja:p opencl-clhpp:p qt5-tools:p python:p ccache:p
-
安装flex bison
pacman -S flex bison
-
其他需要安装的依赖
pacman -S mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-pyqt-builder mingw-w64-ucrt-x86_64-pyqt5-sip mingw-w64-ucrt-x86_64-sip mingw-w64-ucrt-x86_64-draco mingw-w64-ucrt-x86_64-python-qscintilla-qt5
编译
-
切换到源码目录
cd "C:\Users\t\Documents\work\QGIS-final-3_36_1\build"
-
执行Configure命令
cmake \
-G"Ninja" \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DPython_EXECUTABLE=${MINGW_PREFIX}/bin/python \
-DWITH_3D=ON \
-DWITH_PDAL=OFF \
-DWITH_CUSTOM_WIDGETS=ON \
-DQWTPOLAR_LIBRARY=${MINGW_PREFIX}/lib/libqwt-qt5.dll.a \
-DQWTPOLAR_INCLUDE_DIR=${MINGW_PREFIX}/include/qwt-qt5 \
-DWITH_INTERNAL_QWTPOLAR=OFF \
-DWITH_BINDINGS=ON \
-DWITH_GRASS=OFF \
-DWITH_DRACO=OFF \
-DUSE_CCACHE=ON \
-DCMAKE_BUILD_TYPE=Debug \
-DCMAKE_INSTALL_PREFIX=C:/qgis_bin \
-S . \
-B build
- 注意
- WITH_BINDINGS 是python相关,如果想用Processing菜单中Toolbox,需要设置为=ON
- CMAKE_INSTALL_PREFIX设置install的目标目录
- 执行编译命令
cmake --build build
- 开始编译
运行
- python可以正常运行
安装
cmake --install build
- 编译出来Include lib等二次开发库
遇到的问题
-
编译报错
-
启动qgis报错
-
qgis启动界面过了之后,报python错误
-
qgis启动之后,发现Processing的插件没有正常加载
如何解决这个问题呢?请看后边的章节
总结
- 介绍了在Windows Msys2环境下编译运行QGis