VS2019配置GDAL2教程

本文档详细介绍了如何在Windows 10环境下,使用Visual Studio 2019配置GDAL2.3.2的步骤,包括下载源码、修改nmake.opt文件、编译源码、在VS2019项目中配置GDAL、设置环境变量、拷贝dll文件以及编写代码进行测试。整个过程旨在帮助开发者成功搭建GDAL环境并进行C++项目的开发。
摘要由CSDN通过智能技术生成

环境

  • 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 下运行哦,最后成功输出图片尺寸,大功告成~

图片可能因为网络原因掉线了,请刷新或直接点我查看图片~

参考链接

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apple_Coco

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值