GDAL在VS2015上编译及常见错误分析


说实话,gdal在windows上的编译真的让人头疼,它有各种版本的问题,以前用vs2010编译过一次,这次又一次搞了好久。。。。因此记录以来,常见的错误点。

1. 下载gdal-2.03并解压

a. 其他版本的应该也可以,这里可以看一下nmake.opt文件中是否支持vs2015
b. 打开nmake.opt文件,将WIN64=YES前的#去掉

2. 打开 vs2015 命令行,这里选择的是x64 x86兼容的那一个

这里写图片描述

a.打开到自己安装的gdal目录
b.分别输入下面的命令
nmake -f makefile.vc
nmake -f makefile.vc install
nmake -f devinstall

这个地方是非常容易出错的,往往令人头疼的。

  1. 配置VS

a. 打开VS选择空项目,控制台应用程序
b. 打开属性界面,添加C:\warmerda\bld\include文件,如下图所示,在C/C++常规中添加附加包含目录, 也就是上面编译出来的文件,默认在c:/warmerda中.
c. 在连接器的常规中添加附加库目录C:\warmerda\bld\lib
d. 同样l链接器的输入项目在附加依赖项中添加gdal_i.lib

这里写图片描述

完成后添加如下代码测试:

#include "gdal_priv.h"
#include<iostream>
using namespace std;
int main()
{
    GDALAllRegister();
    const char* pszFile = "cute.jpg";
    GDALDataset *poDataset = (GDALDataset*)GDALOpen(pszFile, GA_ReadOnly);
    if (poDataset == nullptr)
        cout << "can not open file" << endl;
    cout << poDataset->GetRasterXSize() << "," << poDataset->GetRasterYSize() << endl;
    system("pause");
    return 0;
}

注意事项:

  1. 将vs模式改为Debug版本64位。
  2. 如果说缺少dll文件,其在C:\warmerda\bld\bin将其复制到项目下的exe类型的文件目录中。

运行,如果不出错,则完成配置。

转载自:https://blog.csdn.net/taoyanqi8932/article/details/52682406

You may also like...