gdal库编译并适配至vs2017

(x86位编译  x64一样           仅作记录    )

首先去gdal官网下载新版本gdal  网址是: http://trac.osgeo.org/gdal/wiki/DownloadSource  (选择一个版本的gdal下载)

然后解压到 ... (自己选择)  --- 然后打开解压文件  --->

然后找到nmake.opt(在自己解压的文件里)   

用vs2017打开。然后找到   MSVC_VER 和 GDAL_HOME  .  

gdal库编译并适配至vs2017_第1张图片

对照自己的版本选择 MSVC_VER,2017版本    (↓ 位 改成 1910)

继续往下找,找到 GDAL_HOME  

gdal库编译并适配至vs2017_第2张图片

“GDAL_HOME” 的路径 为 后续编译的成果存放地点。( 所以...可以自己改 也可以不改....只要找的到就好)

 之后去打开 vs 2017的 x86 本机工具命令行.   即 vs 自带的 命令行 。   也可以使用  win+r 运行   打开 cmd.   

gdal库编译并适配至vs2017_第3张图片这个东西

然后通过命令行 进入 gdal (解压文件 )   然后 执行  

nmake -f makefile.vc       (这步主要是编译生成gdal库之类的东西..)

nmake -f makefile.vc install

nmake -f makefile.vc devinstall      (这两步是将编译生成的 bin  include  之类的放到 GADL_HOME 所在的文件下。)

比如我的是...

 

 然后输入  nmake  -f makefile.vc    回车   之后要等一段时间......   (一段时间......)  直到看到没有error 提示..若是出现error ..就比较麻烦了.....             不过我编译的时候  x86的 倒并没有 遇到错误,x64倒是遇到几个。

ps:  最近编译 64位,发现gdal3.x   会报错,LINK xxx     这时 需要将 nmake.opt 中  大概180-190+  行,有一个 #win64=YES  , 读一下那段代码就可以发现了,   将 #  去掉就可以了。  或者 下一个  gdal2.3.x  去掉 184行  #  ,  也可以的。19-6-1

经过一段时间后 输入 nmake -f makefile.vc install        结束后   输入  nmake -f makefile.vc devinstall    

到此,编译就结束了。接下来开始适配。

打开vs2017  新建一个  c++  空项目。

gdal库编译并适配至vs2017_第4张图片

然后找到    属性..  添加  附加包含目录。

添加include 文件.   若 没有 修改nmake.opt 里面的 GDAL_HOME 的路径 ,则 默认路径是  c:\warmerda\bld

gdal库编译并适配至vs2017_第5张图片

然后 点 链接器   常规  --    附加库目录  lib 那个  

 gdal库编译并适配至vs2017_第6张图片

然后 点输入    添加 附加依赖项     gdal_i.lib    

gdal库编译并适配至vs2017_第7张图片   

然后输入以下代码

 
 
 
#include "gdal_priv.h"
#include
using namespace std;
int main()
{
	const char* pszFile;
        GDALAllRegister();
        pszFile = "D:/2.jpg";
        GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
        GDALRasterBand *poBand = poDataset->GetRasterBand(1);
        int xsize = poBand->GetXSize();
        int ysize = poBand->GetYSize();
        cout << xsize << ysize << endl;
        system("pause");

	return 0;
}                                                       

 

开始编译...

如果出现 未找到  gdal202.dll  这个的话。 就把 bin 下面的 gdal202.dll  复制 粘贴到  C盘的  windows/ system32   下就可以。

如果复制粘贴到 该目录下的debug 目录下 就只限此项目....可用。

或者配置环境变量     (如果想在本机不每次编辑都要把gdal202 复制到 debug目录下的话,最好配置一下环境变量)

计算机->属性->高级系统设置->环境变量->编辑 path 

添加:D:\gdal224\bin    如下...   编辑环境变量  

gdal库编译并适配至vs2017_第8张图片gdal库编译并适配至vs2017_第9张图片

最好把 pszFile  路径设置上 图片  不然会出现 读取内存错误哦。不过那样 也说明已经适配成功了。

就这样了.。  

其他版本  步骤基本类似。

 

 

 

 

 

你可能感兴趣的:(Gdal)