编译Qgis3.4.1

1编译环境准备

1.1 开发工具

VS2015、Qt5.9.2、cmake3.12.3

1.2 源码

Qgis3.4.1

第三方库可以通过官网下载,但是有些第三方库官网没有需要自己下载编译,这里自己列出需要自己下载

Qwt:路径http://qwt.sourceforge.net/#downloads

qca-2.1.3:路径https://userbase.kde.org/QCA

QScintilla:路径http://www.riverbankcomputing.co.uk/software/qscintilla/download

Libzip:路径https://libzip.org/download/

qtkeychain-0.8.0:路径https://www.freshports.org/security/qtkeychain-qt5/

以上几个第三方库需要自己编译,因为在官方提供的库中有的只有dll没有lib,有的没有找到;其次官网提供的库只有release没有debug版本,那怎样编译debug版本的程序那,其实大家都知道debug编译可以使用release版本的库,只是如果是带UI的库,必须使用debug版本,否则就算编译通过了运行qgis会崩溃。

2 编译过程

2.1 配置qgis工程

网上很多教程都是把qgis的cmake工程转乘VS工程进行编译,其实官方编译文档也是这样提供的,但是很多开发qt的小白兔都使用的是QtCreator这个优美的IDE,如果用VS编译,调试都不是很方便,如果能将CMake工程转成Pro工程或者直接在QtCreator中直接编译那就太棒了,其实QtCreator可以直接编译cmake工程,配置也很简单。配置过程点击这个链接(之前写过的一个公众号):

 

https://mp.weixin.qq.com/s?__biz=MzI4Mjk4MTUyNg==&mid=2247483675&idx=1&sn=2e340ea0c4f39efafe259711d101be0e&chksm=eb90e4e2dce76df4aca14c6eb48226cdc657d86cdfe9d6d8851a5b3704d215d844c58bffbdbd&mpshare=1&scene=1&srcid=1111ZqqLeloeZnIpipmmeif8#rd

上述连接是编译osg时的工程,当然编译qgis一样,唯一的区别时配置qgis比配置osg麻烦些。

第一步:先在QtCreator中配置CMAKE

第二步:在通过QtCreator打开qgis3.4.1工程,此时可能无法打开成功,但是没事配置好输出路径即可。

第三步:通过cmake配置工具再次进行qgis3.4.1工程配置,但是输出路径必须和刚才QtCreator配置的输出路径一致(其实qtCreator已经将cmake配置过程集成到了QtCreator中只是没有cmake-gui方便才再次使用cmake-gui进行配置)。

提示:在打开cmake-gui.exe时不要直接双击打开,通过命令行打开(启动依赖库配置项这样可以自动加载配置第三方库,此方法让你省去查找第三方库及头文件真的很好),不清楚可以参考网上的一个博主连接:

https://blog.youkuaiyun.com/qq_34357717/article/details/81305084

配置完成后,再次在QtCreator中打开qgis3.4.1工程,如下图:

2.2编译

编译过程中遇到错误最多的时文件编码问题,官方下载的源码默认采用utf-8,很奇怪之前编译其它版本都好好的,就是编译此版本各种编码问题,经过测试全部将.cpp文件转成了utf-8+BOM格式,编译一路路灯。

3运行结果

 

编译 QGIS 使用 CMake 是一个复杂的流程,需要确保所有依赖项都正确安装,并且配置得当。以下是详细的步骤指南,帮助你使用 CMake 编译 QGIS: ### 依赖项安装 QGIS 依赖于多个库,包括但不限于: - Qt5Qt6(根据 QGIS 版本) - GDAL - GEOS - PROJ - SQLite - PostgreSQL(可选) - Python(用于插件支持) 在 Linux 系统上,可以使用包管理器安装这些依赖项。例如,在 Ubuntu 上可以运行: ```bash sudo apt-get install build-essential cmake cmake-gui cmake-curses-gui qt5-qmake qtbase5-dev libqt5svg5-dev libqscintilla2-dev libgdal-dev libgeos-dev libproj-dev libsqlite3-dev libpostgresql-dev python3-dev ``` 在 Windows 上,可以使用 MSYS2 或者 vcpkg 来安装这些依赖项。 ### 获取 QGIS 源代码 你可以从 QGIS 的官方 GitHub 仓库克隆源代码: ```bash git clone https://github.com/qgis/QGIS.git cd QGIS ``` 如果你只想编译特定版本,可以切换到相应的分支或标签: ```bash git checkout release-3_28 ``` ### 创建构建目录 建议使用 out-of-source 构建方式,创建一个独立的构建目录: ```bash mkdir build cd build ``` ### 配置 CMake 使用 CMake 配置项目。你可以使用 `cmake` 命令行工具或 `cmake-gui` 进行配置: ```bash cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_TESTS=OFF -DWITH_QSPATIALITE=ON -DWITH_GRASS=OFF -DWITH_SERVER=OFF .. ``` 这里列出了一些常用的选项: - `CMAKE_BUILD_TYPE`: 构建类型(Release、Debug 等) - `ENABLE_TESTS`: 是否启用测试 - `WITH_QSPATIALITE`: 是否启用 Spatialite 支持 - `WITH_GRASS`: 是否启用 GRASS 支持 - `WITH_SERVER`: 是否启用 QGIS Server 支持 你也可以使用 `cmake-gui` 来更方便地设置这些选项: ```bash cmake-gui .. ``` ### 编译 QGIS 一旦 CMake 配置完成,可以使用 `make`(Linux)或 `MSBuild`(Windows)进行编译。为了加快编译速度,可以使用多线程编译: ```bash make -j$(nproc) ``` 或者在 Windows 上使用 Visual Studio 打开生成的 `.sln` 文件并进行编译。 ### 安装 QGIS 编译完成后,可以使用以下命令将 QGIS 安装到指定目录: ```bash sudo make install ``` 或者在 Windows 上,可以将编译好的二进制文件复制到目标目录。 ### 启动 QGIS 安装完成后,可以直接运行 QGIS: ```bash qgis ``` 如果一切顺利,QGIS 应该会启动并显示主界面。 --- ###
评论 12
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值