GDAL181在VC2010环境下的使用方法
1. 下载GDAL源代码。
2. 新建一文件夹用于存放GDAL安装文件。例如:d:\GDAL
3. 文本编辑工具打开其中nmake.opt,51行修改为GDAL_HOME = "D:\GDAL";在107行增加语句DEBUG = 1;
4. 在VC2010环境下可以编译通过。
5. 找到VC的安装目录,在dos环境下,运行vcvars32.bat.(例如在D:\Program Files\Microsoft Visual Studio 10.0\VC\bin下),进行环境注册。
6. 在dos环境下,进入GDAL源代码目录,执行nmake/f makefile.vc install。这个步骤可在d:\GDAL下生成三个文件夹。
7. 在dos环境下,进入GDAL源代码目录,执行nmake/f makefile.vc devinstall。这个步骤可在d:\GDAL下生成两个文件夹。其中有我们需要的include
8. 用vc2010新建一windows console空工程TestInVC,添加一cpp文件,例如main.cpp
#include"stdafx.h"
#include "gdal_priv.h"
#include <iostream>
using namespace std;
int main(int argc, char*argv[])
{
if(argc!=2)
{
return 0;
}
GDALDataset *poDataset;
GDALAllRegister();
poDataset = (GDALDataset *) GDALOpen( argv[1], GA_ReadOnly );
if( poDataset != NULL )
{
cout<<"RasterXSize:"<<poDataset->GetRasterXSize()<<endl;
cout<<"RasterYSize:"<<poDataset->GetRasterYSize()<<endl;
cout<<"RasterCount:"<<poDataset->GetRasterCount()<<endl;
}
return 0;
}
9. 修改TestInVC属性:配置属性-》链接器-》输入-》附加依赖项,添加gdal_i.lib
10. 修改TestInVC属性:vc++目录->包含目录:增加在第7步得到的include文件夹;库目录我使用的是源代码顶级目录,因为其下有gdal_i.lib.不知使用第7步得到的lib文件夹行不行,有无差异。
11. 修改TestInVC属性:调试-》命令参数-》“F:\Hydrangeas.jpg”(一个图片,科研修改为任意一个有意义的图片目录)。
12. 将gdal18.dll放在TestInVC目录的debug目录下。
13.Vc2010环境下,TestInVC打开,选择tools->options->Debugging->symbols,添加pdb文件。如:gdal源码目录下的gdal18.pdb.
14.运行可得到输出RasterXSize:800,RasterYSize:600,RasterCount:3
15. 在main.cpp中设断点可调试进入dll内部源码。