gdal(windows编译)

(gdal)windows平台编译

采用cmake编译
编译windows平台下的dll版本
编译python版本的.whl库

一、相关库下载

可根据自己需求进行下载,此处只下载了一些常用库

1、下载最新版本gdal

我下载的是3.6.3
在这里插入图片描述

2、下载最新版本geos

我下载的时候最新的是3.11.2版本
在这里插入图片描述

3、下载最新版本PROJ

我下载的是9.2.0
在这里插入图片描述

4、下载最新版本curl

我下载的版本是8.0.1
在这里插入图片描述

5、下载最新版tiff

我下载的版本是4.5.0
在这里插入图片描述

6、下载最新版libgeotiff

我下载的是1.6.0
在这里插入图片描述

7、下载最新版swig

我下载的是4.1.1
在这里插入图片描述

8、下载最新版本sqlite

我下载的是3.41.1,需要源码、二进制exe文件、二进制dll文件
二进制文件exe
在这里插入图片描述
二进制dll
在这里插入图片描述

源码
在这里插入图片描述

9、下载最新版本bison

可以使用解压后得到的exe
在这里插入图片描述

二、编译相关的依赖库

1、编译sqlite

新建空的dll工程
在这里插入图片描述
解压下载的三个包得到sqlite的相关文件
在这里插入图片描述
将其添加到新建的项目中

在这里插入图片描述
在预处理器里面添加如下宏定义

SQLITE_CORE
SQLITE_EXPORTS
SQLITE_ENABLE_FTS3
SQLITE_ENABLE_FTS5
SQLITE_ENABLE_RTREE
SQLITE_ENABLE_COLUMN_METADATA
SQLITE_ENABLE_SESSION
SQLITE_ENABLE_PREUPDATE_HOOK
SQLITE_ENABLE_DESERIALIZE

在这里插入图片描述
为了生成lib库还需要做如下设置
在这里插入图片描述
按照以上分别设置好 debug模式和release模式,即可生成想要的dll种lib文件
在这里插入图片描述
生成如下所示的 文件
在这里插入图片描述

2、编译curl

使用cmake-gui编译
解压好下载好的curl源码,设置好编译目录,编译结果存放目录,如下所示
点击顺序为1—2—1—3—4
在这里插入图片描述
选中 all_build->生成
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述

3、编译geos

解压好下载好的curl源码,设置好编译目录,编译结果存放目录,如下所示
点击顺序为1—2—1—3—4
在这里插入图片描述
进行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述

4、编译tiff

解压好下载好的tiff源码,设置好编译目录,编译结果存放目录,如下所示
点击顺序为1—2—1—3—4
在这里插入图片描述
进行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述

5、编译PROJ

解压好下载好的proj源码,设置好编译目录,编译结果存放目录,如下所示
设置安装目录
在这里插入图片描述
设置编译好的curl
在这里插入图片描述
设置编译好的sqlite
在这里插入图片描述
设置编译好的tiff
在这里插入图片描述
执行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述

6、编译libgeotiff

解压好下载好的libgeotiff源码,设置好编译目录,编译结果存放目录,如下所示
设置安装目录
在这里插入图片描述
设置好编译好的proj目录、设置好编译好的tiff目录
在这里插入图片描述
执行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述

7、编译swig

解压下载好的bison
在这里插入图片描述
解压好下载好的swig源码,设置好编译目录,编译结果存放目录,如下所示
设置安装目录
在这里插入图片描述
设置好bison目录
在这里插入图片描述
执行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【编译release版本的】
在这里插入图片描述

三、编译gdal (c++版本)

python 环境中需要安装numpy

pip install numpy

解压好下载好的gdal源码
在这里插入图片描述

如果电脑上有多个python 环境 需要设置一下自己要使用的版本,由于我电脑上有学你环境,默认会使用conda环境,我修改了一下CMakeLists.txt文件

在这里插入图片描述
上面绿色方框中的修改会在cmkae-gui日志信息中打印出如下目录中的信息,确保当前python 环境中安装有numy
在这里插入图片描述
设置编译输出路径
在这里插入图片描述
设置bison目录
在这里插入图片描述
设置curl目录
在这里插入图片描述
设置geos目录、libgeotiff
在这里插入图片描述

设置sqlite目录、swing目录、tiff目录
在这里插入图片描述
设置proj目录
在这里插入图片描述

如果电脑有cuda加速环境的话勾选
在这里插入图片描述
执行编译
在这里插入图片描述
在刚刚设置的目录下就会生成 想要的文件。【分别编译debug版本和release版本的】
在这里插入图片描述
到些编译完成,我们还需要将之前编译的单个项目生成的文件有dll、lib、exe等文件按照debug和release版本都拷贝到gdal项目编译后生成的目录中
得到如下目录文件
在这里插入图片描述
切换到编辑结果目录中
运行gdal_contour.exe如果没有报到些编编译完成
在这里插入图片描述

四、编译GDAL python 版本whl包

在C++版本编译的顶目中找到
python_wheel,并选中,点击生成
在这里插入图片描述
然在在构建工程目录中的 wig\python\dist 目录下会生成whl文件
在这里插入图片描述
但些时的文件还不能用,用压缩文件打开whl文件如图所示
在这里插入图片描述
打开osgeo目录
在这里插入图片描述
把gdal的编译结果,就是上面第8步中得到的结果【包含了所依赖运行环境的文件】放入到osgeo目录中
在这里插入图片描述
到此完成python版本的gdal编译
安装

pip install GDAL-3.6.3-cp39-cp39-win_amd64.whl

在这里插入图片描述
查看安装结果

pip list

在这里插入图片描述
验证一下

from osgeo import gdal
dataset = gdal.Open("Preview.tif")
#输出图像宽高
print(dataset.RasterXSize,dataset.RasterYSize)

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值