环境:win 10 x64 + VS2017 + GDAL2.3.2
一、下载 GDAL
进入 GDAL 官网下载 GDAL 最新稳定发行版,目前是 GDAL2.3.2。下载后解压,假设解压在D:\gdal
,解压完成后进入解压目录。
二、修改 GDAL 配置
用文本编辑器打开解压目录下的nmake.opt
文件,建议直接使用 VS2017 打开。
然后修改以下内容:
- 第41行的代码修改为:MSVC_VER=1910(1910是指 VS 版本为2017)
- 第57行的代码修改为:GDAL_HOME = "D:\gdal"(这里就是设置安装目录,可以设置为任意一个方便你找得到的目录)
- 修改第184行的代码:原来为“# WIN64=YES”修改为“WIN64=YES”(64位环境下必须这么修改)
三、编译及安装 GDAL
1.以管理员身份运行 VS2017 命令行工具
2.编译
在命令行中进入 GDAL 目录,在这里就是依次输入:
cd D:\gdal
d:
nmake /f makefile.v
3.安装
编译结束后继续依次执行以下两条命令:
- nmake /f makefile.vc install
- nmake /f makefile.vc devinstall
安装成功的话在安装目录下应该会多出bin
,data
,html
,lib
,include
几个文件夹。
四、配置 VS2017
1.新建测试文件
在 VS2017 中新建一个 C++ 空项目,新建一个源文件,贴入下面代码:
#include "gdal_priv.h"
#include<iostream>
using namespace std;
int main()
{
const char* pszFile;
GDALAllRegister();
pszFile = "D:/test.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;
}
这个 VS 就会报错,提示头文件啥的找不到,所以接下来就要进行配置。
2.配置 GDAL 引用
(1)选择项目 -> 属性 -> C/C++ -> 常规 -> 附加包含目录
,引用 GDAL 安装目录下的include
目录,在这里就是D:\gdal\include
。
(2)选择
项目 -> 属性 -> 链接器 -> 常规 -> 附加库目录
,引用 GDAL 安装目录下的lib
目录,在这里就是D:\gdal\lib
。(3)选择
项目 -> 属性 -> 链接器 -> 输入 -> 附加依赖项
,输入gdal_i.lib
。[图片上传失败...(image-de271e-1540007869017)]
(4)因为要在64位环境下运行,所以要把 VS 的 debug 配置设为 X64。
到此就配置完成了,按理来说 VS2017 应该不会报错。
3.测试
运行测试代码,成功的话就会输出图片的长和宽。
参考: