按照gdal官方指引,通过conda(conda是个包管理的工具)下载已编译的版本,但是通过conda下载下来的gdal只有python版本的。
如果需要其他版本,只能手动编译
(1)准备VS的环境,这里使用2017vs。官网下最新gdal文件gdal-3.3.1
(2)修改D:\gdal3.3.1下的nmake.opt文件
配置MSVC_VER=1910,使用2017编译,上面的注释有对照关系
配置gdal编译输出目录
配置64位
(3)打开VS2017的命令行窗口“适用于VS2017的x64本机工具命令提示”。
如果没有“适用于VS2017的x64本机工具命令提示”该选项,则使用Visual Studio Installer,通过“修改”补充安装,如图
(4)打开VS2017的命令行窗口“适用于VS2017的x64本机工具命令提示”后,执行命令nmake -f makefile.vc
提示“makefile.vc(6) : fatal error U1050: PROJ_INCLUDE should be defined. PROJ >= 6 is a required dependency”错误。按照官方说明,gdal3以上需要依赖PROJ进行编译。
如果又要编译PROJ又缺少PROJ的依赖的话,过于满分。从官方PROJ看,可以从conda下编译好的PROJ。
conda install -c conda-forge proj
确实能下载 ,把下载好的proj-8.1.0-h1cfcee9_1目录拷贝出来重命名为proj-8.1.0
再配置nmake.opt,搜索PROJ_INCLUDE进行配置,如图
(5)重新nmake -f makefile.vc,可以执行通过
(6)再执行nmake /f makefile.vc install。生成bin和data目录
(7)执行nmake /f makefile.vc devinstall。生成开发依赖的include和lib。
打完收工