半年前,写了一个Gdal1.4的编译,前一段时间又开始用Gdal了,发现已经日新月异到1.6版了,还推出了针对.NET开发的solution编译,实在是大大方便了我这样的C#程序员。但是很奇怪的是官网下载的源码居然编译出错,仔细研究了一会才发现代码中确实有个低级错误,不知道是不是由于编程语言之间的转换造成的。在此写出来,供自己和大家参考。
2、打开makegdal80.sln。打开source files/frmts/leveller/levellerdataset.cpp
3、查找“?”,发现确实那个问号是个语法错误,改成“"”
4、F5编译,OK
5、如果需要在C#下使用Gdal库,在完成上面的基础上,使用cd命令进入根目录下的swig/csharp目录,再次使用nmake命令编译。
例如:nmake g:\project\gdal141\gdal-1.4.1\swig\csharp\makefile.vc
编译完成后会生成8个Dll文件。
分别是:gdal_csharp.dll, gdal_gdal_wrap.dll, gdalconst_csharp.dll, gdal_gdalconst_wrap.dll,
ogr_csharp.dll, gdal_ogr_wrap.dll, osr_csharp.dll, gdal_osr_wrap.dll
连同第4步生成的gdal16.dll,用的时候都要拷贝到debug目录 并将其中的四个csharp.dll作为C#的引用,即可!
按照上述步骤编译后,利用生成的dll可以很快调通简单的示例程序。