当前位置:   article > 正文

gdal(windows编译)_gdal cmake

gdal cmake

(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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

在这里插入图片描述
为了生成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
  • 1

解压好下载好的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
  • 1

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

pip list
  • 1

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

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

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/172365
推荐阅读
相关标签
  

闽ICP备14008679号