qgis 源码编译
时间: 2025-05-22 17:39:28 浏览: 36
### QGIS 源码编译指南
QGIS 的源码编译过程依赖于多个工具链和库的支持,具体步骤会因操作系统不同而有所差异。以下是针对 Windows、Linux 和 macOS 平台的通用编译流程。
#### 工具准备
为了成功编译 QGIS 源码,需要先安装必要的开发环境和第三方库:
1. **CMake**: 用于配置构建文件[^4]。
2. **Ninja 或 Make**: 构建系统的生成器[^4]。
3. **Qt 开发框架**: QGIS 使用 Qt 进行 GUI 编程[^2]。
4. **GDAL/OGR 库**: 提供地理空间数据支持[^2]。
5. **GEOS 和 PROJ**: 地理计算所需的几何引擎和支持投影转换的库[^2]。
6. **Python 及其开发头文件**: 支持插件系统和脚本功能[^2]。
对于不同的操作系统,还需要额外考虑特定的依赖项管理方式。
---
#### Windows 环境下编译 QGIS 源码
在 Windows 上编译 QGIS 需要以下步骤:
1. 安装 Cygwin 或 OSGeo4W 软件包以获取基础 GIS 工具集。
2. 下载并解压 Ninja 构建工具。
3. 设置 Visual Studio C++ 编译器环境变量。
4. 创建一个新的目录作为工作区,并克隆最新的 QGIS Git 仓库:
```bash
git clone https://github.com/qgis/QGIS.git qgis-source
cd qgis-source
```
5. 使用 CMake 配置项目参数,指定目标路径和所需选项:
```bash
cmake -B build -S . -GNinja \
-DCMAKE_INSTALL_PREFIX=C:/path/to/installation/directory \
-DWITH_SERVER=ON \
-DWITH_CLIENT=ON \
-DBUILD_TESTING=OFF
```
6. 执行实际编译操作:
```bash
ninja -C build install
```
以上命令基于官方文档中的推荐设置。
---
#### Linux 环境下编译 QGIS 源码
Linux 是 QGIS 原生支持的操作系统之一,因此通常更容易完成编译任务。
1. 更新系统包索引并安装必需组件:
```bash
sudo apt update && sudo apt upgrade -y
sudo apt install qtbase5-dev libqt5svg5-dev python3-pyqt5.qtsql gdal-bin libgdal-dev libgeos-dev proj-bin libproj-dev grass-core grass-gui sqlite3 spatialite-tools python3-sip python3-setuptools python3-numpy python3-matplotlib python3-dateutil python3-lxml pybind11-dev
```
2. 获取最新版 QGIS 源代码:
```bash
git clone https://github.com/qgis/QGIS.git qgis-source
cd qgis-source
```
3. 利用 CMake 初始化构建结构:
```bash
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DENABLE_TESTS=NO -DWITH_BINDINGS=TRUE
```
4. 启动 GNU make 来执行编译与部署:
```bash
make -j$(nproc)
sudo make install
```
此方法适用于大多数主流发行版如 Ubuntu、Debian 等。
---
#### macOS 环境下编译 QGIS 源码
macOS 用户可以通过 Homebrew 包管理器简化部分准备工作。
1. 添加 taps 并同步可用资源列表:
```bash
brew tap osgeo/osgeo4mac
brew update
```
2. 安装核心依赖关系集合:
```bash
brew install gcc geos gdal postgis homebrew/python/pyqt@5 sip pybind11 numpy matplotlib scipy pandas lxml dateutils
```
3. 克隆远程存储库到本地磁盘位置:
```bash
git clone --recursive https://github.com/qgis/QGIS.git ~/qgis-source
cd ~/qgis-source
```
4. 准备好之后运行下面这条指令来启动整个流程:
```bash
./configure && make && sudo make install
```
注意这里假设已经预设好了 Xcode Command Line Tools[^3]。
---
#### 注意事项
- 不同版本之间可能存在 API 更改或者新增特性,建议始终参照对应分支上的 INSTALL 文件说明[^1]。
- 如果遇到错误提示缺少某些模块,则需返回去确认是否遗漏了任何前提条件加载。
阅读全文
相关推荐


















