在.NET下对Gdal(version 1.4)的编译
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可以很快调通简单的示例程序。