# 环境

  • VS 2019
  • GDAL 2.3.2

# 配置教程

# 1. 下载 GDAL 2.3.2

下载地址:http://download.osgeo.org/gdal/https://github.com/OSGeo/gdal/releases

找到 gdal232.zip 文件下载到本地,解压并修改文件夹名,如: E:\ThirdSDK\gdal232

# 2. 修改源代码

用文本编辑器(如 notepad++)打开 nmake.opt 文件,在本教程中该路径位于 E:\ThirdSDK\gdal232\nmake.opt ,共需修改以下三处位置:

  • 第 41 行的代码修改为:MSVC_VER=1921(注:vs2019 对应 1921,vs2017 对应 1910)
  • 第 57 行的代码修改为:GDAL_HOME="E:\ThirdSDK\gdal2_x64_2019"
  • 第 184 行的代码,去除 WIN64=YES 前面的 # 符号

# 3. 编译源代码

以管理员身份运行适用于 VS 2017 的 x64 本机工具命令提示该程序(英文版本为 x64 Native Tools Command Prompt for VS 2017),如下图

注意,需要右键选择以管理员身份运行

在命令行中依次输入,并回车

C:\Windows\System32>E:
C:\Windows\System32>cd ThirdSDK\gdal232
C:\Windows\System32>nmake /f makefile.vc

稍微等十分钟,编译结束若无错误提示,再进行后续安装操作:

C:\Windows\System32>nmake /f makefile.vc install
C:\Windows\System32>nmake /f makefile.vc devinstall

若无错误提示,安装即已完成。打开安装目录下的文件夹(代码修改的路径),会看到有 bin,data,html,lib,include 等几个文件夹,如下图

# 4. 在 VS2019 项目中配置 GDAL

打开 vs2019,创建一个 c++ 空项目,创建完成后将其改成 x64 。因为当前安装的 GDAL 为 win64 位版本,所以应选择 x64 进行编译执行,否则会出现模块计算机类型 “x64” 与目标计算机类型 “x86” 冲突这一问题

视图->其他窗口->属性管理器 ,打开属性管理器。

Debug | x64 上右击,选择添加新项目属性表,如下图

然后双击新添加的项目属性表,在 包含目录库目录 中添加编译好的 gdal 路径,如下图

点击应用。然后在 链接器->输入->附加依赖项 中点击编辑,手动输入 gdal_i.lib ,如下图

这个 gdal_i.lib 实际上就是 gdal 安装路径下 lib 文件夹里的那个 .lib 文件名

点击应用,确定,配置完成

# 5. 设置环境变量

依次点击 计算机->属性->高级系统设置->环境变量->系统变量 内的 path ,添加如下

依次点击确定按钮,确保环境变量生效

# 6. 拷贝 gdal203.dll 到 C:\Windows\System32

E:\ThirdSDK\gdal2_x64_2019\bin 路径下的 gdal203.dll 文件拷贝到 C:\Windows\System32 路径下

# 7. 编写代码测试

在刚刚创建的工程中创建 main.cpp ,编写如下代码,注意把图片路径换成自己本地的图片路径

#include <iostream>  
#include "gdal_priv.h"

using namespace std;

int main()
{
	const char* pszFile;
	GDALAllRegister();
	pszFile = "E:\\_image\\OpenCVTest\\lena.jpg";
	GDALDataset* poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
	GDALRasterBand* poBand = poDataset->GetRasterBand(1);
	int xsize = poBand->GetXSize();
	int ysize = poBand->GetYSize();
	cout << xsize << endl;
	cout << ysize << endl;
	system("pause");

	return 0;
}

注意,程序需要在 x64 下运行哦,最后成功输出图片尺寸,大功告成~

# 参考链接

  • win10 x64 配置 VS2017 + GDAL
  • VS2017 编译配置 GDAL—— 超详细,适合初学者!!!
更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

宇凌喵 微信支付

微信支付

宇凌喵 支付宝

支付宝