C++配置GDAL库(Visual Studio 2010)

文章目录

  • 1 新建工程
  • 2 准备GDAL库
  • 3 属性页配置
  • 4 将GDAL\bin中的文件拷至Debug中
  • 5 运行测试


在Visual Studio 2010平台下配置GDAL库,示例的库版本为GDAL 1.7.3。方案中包括绝对路径和相对路径,其中,绝对路径配置的程序在移动位置后需要重新配置,而相对路径配置的程序则没有该问题。


1 新建工程

使用Visual Studio 2010新建一个空工程。
C++配置GDAL库(Visual Studio 2010)_第1张图片
新建完成后运行一次。


2 准备GDAL库

一般来讲,GDAL库会放在一个固定的位置,但是为了程序的可移植性,可以尝试将GDAL库放置在新建的工程之中。找到gdaltest文件夹,然后找到gdaltest同名文件夹,将GDAL1.7.3库拷贝至其中。
C++配置GDAL库(Visual Studio 2010)_第2张图片C++配置GDAL库(Visual Studio 2010)_第3张图片


3 属性页配置

打开项目—>属性—>配置属性—>VC++目录,修改包含目录和库目录:

C++配置GDAL库(Visual Studio 2010)_第4张图片
包含目录中,选址GDAL库中的include文件夹(绝对路径)。

C++配置GDAL库(Visual Studio 2010)_第5张图片
但是为了方便程序的移植,这里可以改成相对路径(GDAL1.7.3\include)

C++配置GDAL库(Visual Studio 2010)_第6张图片
库目录也设置成相对路径(GDAL1.7.3\lib)

C++配置GDAL库(Visual Studio 2010)_第7张图片
再打开项目—>属性—>配置属性—>C/C++—>常规,在附加包含目录中配置包含文件(GDAL1.7.3\include)

C++配置GDAL库(Visual Studio 2010)_第8张图片


4 将GDAL\bin中的文件拷至Debug中

将GDAL\bin中gdal17.dll文件和geos_c.dll文件拷贝至Debug中。
注:Debug的目录为F:\visual studio 2010 Projects\gdaltest\Debug,而不是F:\visual studio 2010 Projects\gdaltest\gdaltest\Debug。

C++配置GDAL库(Visual Studio 2010)_第9张图片


5 运行测试

// gdaltest.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 

using namespace std;

#include "gdal_priv.h"
#pragma comment(lib,"gdal_i.lib")
#include "ogr_geometry.h"

int _tmain(int argc, _TCHAR* argv[])
{
	GDALAllRegister();
	CPLSetConfigOption("GDAL_FILENAME_IS_UTF8","NO");
	CPLSetConfigOption("USE_RRD","YES");

	const char* path = "data//test.tif";

	GDALDataset * poDataset = (GDALDataset *) GDALOpen(path, GA_ReadOnly);
	if(poDataset == NULL)
	{
		printf("open file fail.\n");
		return false;
	}

	int nImgWidth = poDataset -> GetRasterXSize();
	int nImgHeight = poDataset -> GetRasterYSize();

	int nBandnum = poDataset -> GetRasterCount();

	double *dGeoTrans = new double [6];
	
	poDataset -> GetGeoTransform(dGeoTrans);

	printf("Bandnum: %d \n", nBandnum);
	printf("ImgWidth: %d \n", nImgWidth);
	printf("ImgHeight: %d \n", nImgHeight);

	for (int i = 0; i < 6; ++i)
	{
		printf("GeoTrans %d : %.2f \n", i + 1, dGeoTrans[i]);
	}

	GDALClose(poDataset);	
	delete [] dGeoTrans;
	
	system("pause");
	return 0;
}

输出了影像的基本信息,意味着GDAL库配置成功。

C++配置GDAL库(Visual Studio 2010)_第10张图片
欢迎大家批评指正。

你可能感兴趣的:(C++,GDAL,c++,gdal,绝对路径,相对路径)