VS2010配置gdal1.10.0 gdal1.10.1编译

1.gdal1100编译

正文:

重要:gdal编译完是release版本的,工程中加载使用时release模式才能用,debug模式使用报错错误LNK2038:检测到“_ITERATOR_DEBUG_LEVEL”的不匹配:值“0”与main.obj中的值“2”不匹配”,即使nmake时设置了debug=1,后继者注意这个坑。

工程加载使用时注意添加一个lib:#pragma comment(lib,"ws2_32.lib")

否则报错:error LNK2001: 无法解析的外部符号 __imp_*****

编译方式1:

gdal1.10.1的版本编译有vs工程,可直接vs打开sln编译

编译方式2:

编辑nmake.opt文件,MSVC_VER=1600

打开vs的工具命令,cd到gdal目录,执行以下任意一个nmake命令

新建 bin  ,lib  include文件夹;

把dll拷贝到bin, gdal.lib  gdal_i.lib拷贝到lib,把所有.h头文件拷贝到include文件夹。

2.vs2010配置gdal

不讲了,太简单了:

1.添加include

2.添加lib;

附加依赖:gdal.lib  gdal_i.lib

3.dll拷贝过来

再有问题留言吧

gdal test代码:

#include "stdafx.h"
#include <iostream>

using namespace std;

#include "gdal_priv.h"
//#pragma comment(lib,"gdal_i.lib")
#pragma comment(lib,"ws2_32.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 = "D:\\H47F021001.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;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值