Win11下 基于VS2022编译GDAL库

一、下载GDAL在这里插入图片描述

下载地址:Download — GDAL documentation

二、使用步骤
1.准备工作
下载GDAL库后 解压如下结构:

 在这里插入图片描述

 

解压后看下有没有红框出的两个文件,下面主要根据这两个来编译源码! 提示:如果没有的话 可能是新版本问题 可以用本文使用的版本

解压后在同级目录下创建一个 build 文件夹 用来存放生成的源码 如下所示:在这里插入图片描述

2.生成源码
(一)方法一
1.修改配置
完成上述步骤后,打开gdal目录,找到名为【nmake.opt】文件 然后用编辑器打开 如下所示:

在这里插入图片描述在这里插入图片描述
打开后在42行左右 找到【MSVC_VER】提示:具体行数可能会随着GDAL库版本的不同而不同
将值改成1930 提示:这里为啥1930 因为我这边是vs2022 度娘说2022对应1930版本,各位是其他版本的话可以问下度娘即可
如下所示:

在这里插入图片描述

 

接下来,在213行左右的位置找到注释的【WIN64】,如果电脑是64位的Windows系统,就将这一行的注释取消掉 :在这里插入图片描述

然后在245行左右的位置找到【DLLBUILD】将值改成0,如果需要动态编译就还是1,如果需要静态编译就将等号后的数字修改为0。本文是需要静态编译,因此将其修改为0在这里插入图片描述

 

接下来,在265行左右找到【PROJ_INCLUDE】以及269左右找到【PROJ_LIBRARY】,分别配置PROJ库对应的路径 如下所示:在这里插入图片描述

【PROJ_INCLUDE】:选择PROJ库对应include路径
【PROJ_LIBRARY】:选择PROJ库对应lib目录下的proj.lib 文件

记得吧**#**号取消掉

再然后在638行左右找到【SQLITE_INC】【SQLITE_LIB】,需要我们配置SQLite环境的一些路径 配置如下所示。在这里插入图片描述

 

【SQLITE_INC】:选择sqlite库对应include路径
【SQLITE_LIB】:选择sqlite库对应lib目录下的SqliteProject.lib 文件

再然后在736行左右找到【GEOS_DIR】【GEOS_CFLAGS】【GEOS_LIB 】,需要我们配置GEOS库的一些路径 配置如下所示。

在这里插入图片描述
【GEOS_DIR】:选择GEOS的目录路径
【GEOS_CFLAGS】:选择GEOS目录下的 include文件目录
【GEOS_LIB 】:选择GEOS目录下的lib文件目录
接下来就是开始生成源码啦。

 

2.生成源码
完成上述的修改配置后,在win搜索拦下搜索“x64 Native Tools CommandPrompt for VS 2022” ,打开后打开到gdal的目录(最好用管理员方式运行):

在这里插入图片描述
分别输入以下命令:

nmake /f makefile.vc
nmake /f makefile.vc install       (生成bin/html/data文件夹)
namek /f makefile.vc devinstall    (生成lib/include文件夹)

这样方法一就编译成功了,就可以使用GDAL这个库了。

提示:如果用方法一 生成报错的话,可以参考方法二, 我用方法一没成功,所以就用了下面的方法二,如果有人用方法一成功了可以私信我讨论一下

(二)方法二
1.配置Cmake
完成上述创建一个 build 文件夹完成后,打开 cmake-gui.exe 界面 选择在 【Where is the source code】【Where to build the binaries】两处中分别选择gdal对应的文件夹路径,然后点击左下角的【cmake-gui】按钮打开环境配置界面 如下所示:

在这里插入图片描述
在这里插入图片描述【Specify the generator for this project】表示要选择编译器。我选择的是Visual Studio 2022,你需要选择自己合适的VS版本即可。

【Optional platform for generator(if empty, generatoar uses: x64)】表示你需要选择合适的平台。默认将选择64位。如果你需要其他环境就需要手动选择。

其他默认即可 然后点击 Finish 开始编译 如下所示: 提示:这里应该会编译失败在这里插入图片描述

 

这里日志出现说没有找到 PROJ库,然后我们把路径引用一下:在这里插入图片描述

 


【PROJ DIR】:选择PROJ库的目录
【PROJ INCLUDE DIR】:选择PROJ库的include目录
【ROJ LIBRARY RELEASE】:选择PROJ库的lib文件下的proj.lib 文件

在这里插入图片描述
重新引用路径后 然后点击【Configure】按钮 提示:这里可以把上一次生成的build文件夹里面内容删掉 重新生成

 

期间会出现这个 Downloading nuget 提示,这是在下载 nuget依赖 我们稍等一下

在这里插入图片描述在这里插入图片描述
一段时间后就出现Configuring done 了,这就说明生成成功了,需要的可以再点击一下【Generate】 生成项目文件 这样就可以在vs开发工具里面去编译了

 在这里插入图片描述

显示上图的 Generating done 即生成项目文件成功了,build 目录如下:在这里插入图片描述

 

2.生成源码
完成Cmake配置后,在win搜索拦下搜索“x64 Native Tools CommandPrompt for VS 2022” ,打开后打开到build文件目录(最好用管理员方式运行):

然后输入以下命令:

msbuild ALL_BUILD.vcxproj /p:Configuration="Release"

这里要等待一段时间 提示:如果这里报错了 可能是你用的方法一后不行就用方法二了,本文建议重新解压一个新的库进行操作

在这里插入图片描述
有些警告,上面提示已经成功完成了,最后在输入以下命令:

 msbuild INSTALL.vcxproj /p:Configuration="Release"在这里插入图片描述
上面显示已成功生成就结束啦,可以在 Installing: 提示的 C:\Program Files\gdal 路径中 就能看到编译好的文件了 :

 在这里插入图片描述

  1.  到此本文就结束了 !


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值