VS2019配置GDAL2教程

文章目录

    • 环境
    • 配置教程
      • 1. 下载 GDAL 2.3.2
      • 2. 修改源代码
      • 3. 编译源代码
      • 4. 在 VS2019 项目中配置 GDAL
      • 5. 设置环境变量
      • 6. 拷贝 gdal203.dll 到 C:\Windows\System32
      • 7. 编写代码测试
    • 参考链接

环境

  • 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),如下图

VS2019配置GDAL2教程_第1张图片

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

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

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 等几个文件夹,如下图

VS2019配置GDAL2教程_第2张图片

4. 在 VS2019 项目中配置 GDAL

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

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

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

VS2019配置GDAL2教程_第3张图片

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

VS2019配置GDAL2教程_第4张图片

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

VS2019配置GDAL2教程_第5张图片

VS2019配置GDAL2教程_第6张图片

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

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

5. 设置环境变量

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

VS2019配置GDAL2教程_第7张图片

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

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

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

7. 编写代码测试

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

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

VS2019配置GDAL2教程_第8张图片

参考链接

  • win10 x64 配置 VS2017 + GDAL
  • VS2017编译配置GDAL——超详细,适合初学者!!!

你可能感兴趣的:(GIS,gdal,vs2019)