gdal库编译并适配至vs2017

论坛 期权论坛 脚本     
匿名技术用户   2020-12-26 23:09   11   0

(x86位编译 仅作记录 )

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

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

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

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

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

继续往下找,找到 GDAL_HOME

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

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

这个东西

然后通过命令行 进入 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倒是遇到几个。

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

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

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

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

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

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

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

然后输入以下代码


 

 

 
#include "gdal_priv.h"
#include<iostream>
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 如下... 编辑环境变量

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

就这样了.。

其他 版本 步骤基本 类似。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:7942463
帖子:1588486
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP