Gdal对c语言和python的支持一直很好,直到最新的GDAL1.4.1添加了swig,才支持.NET环境下的C#语言。巧的是,孤陋寡闻的我只会写C#程序,在查询了网上高手的部分资料了,自己摸索着实现了在.NET下对Gdal进行编译,使之可用于C#语言。
网上的相关资料并不多,我主要学习的是csdn中的小粟大师的《基于.NET 2.0的GIS开源项目SharpMap分析手记(七)》,在此表示非常感谢!
言归正传,编译Gdal的几个关键步骤如下:
2
、打开
.NET
的命令行进行编译。通过简单的
cd
命令找到
gdal
的解压根目录,使用
nmake
命令开始编译。
例如:
nmake g:\project\gdal141\gdal-1.4.1\makefile.vc
编译需要很久时间,编译后
gdal
也由
32MB
猛增到
300
多
MB
。
3
、使用
cd
命令进入根目录下的
swig/csharp
目录,再次使用
nmake
命令编译。
例如:
nmake g:\project\gdal141\gdal-1.4.1\swig\csharp\makefile.vc
编译完成后会生成
8
个
Dll
文件。
分别是:
gdal_gdal_csharp.dll, gdal_gdal_wrap.dll, gdal_gdalconst_csharp.dll, gdal_gdalconst_wrap.dll,
gdal_ogr_csharp.dll, gdal_ogr_wrap.dll, gdal_osr_csharp.dll, gdal_osr_wrap.dll
4
、注意,下面是很关键却很容易忽视的一步:将四个
wrap.dll
文件改名,去掉前面的
gdal_
。
改名后得到:
gdal_gdal_csharp.dll, gdal_wrap.dll, gdal_gdalconst_csharp.dll, gdalconst_wrap.dll,
gdal_ogr_csharp.dll, ogr_wrap.dll, gdal_osr_csharp.dll, osr_wrap.dll
5
、编译完成,将这八个
dll
全拷到工程目录中,并将其中的四个
csharp.dll
作为
C#
的引用,即可!
按照上述步骤编译后,利用生成的dll可以很快调通简单的示例程序。