一直搞了整整一天,终于编译成功了,期间遇到了好多问题,在官网(http://www.gdal.org/)上查了说明,可是不是很详细,google上也很少有这方面的饿资料。还得自己摸索着来,唉!
下载编译需要的源码:gdal152.zip(7M多) 和 swigwin-1.3.36.zip(6M多)
编译步骤:
1.先解压到目录e:\gdal-1.5.2和E:\gdal-1.5.2\swigwin-1.3.36
2.修改e:\gdal-1.5.2下的nmake.opt
修改3各部分:
MSVC_VER=1400
GDAL_HOME = "E:\gdal-1.5.2"
SWIG = E:\gdal-1.5.2\swigwin-1.3.36\swig.exe
3. 大概有两个源文件,由于编码的问题可能会导致编译错误(frmts\leveller\levellerdataset.cpp和frmts\rmf\rmfdataset.cpp)。解决方法:在vs中打开文件,然后再用ie打开文件,将ie的编码改成西欧,将网页中的代码复制到vs中保存,就行了。
4.修改系统环境变量,添加GDAL_HOME = E:\gdal-1.5.2 ,PATH添加 %GDAL_HOME%;%GDAL_HOME %\bin(可选,我設了,估计不设也行)
5.执行命令,编译gdal(按照顺序依次执行)
1) . C:\Program Files\Microsoft Visual Studio 8\VC>vcvars32.bat (vcvars32.bat 的路径根据自己vs安装目录确定)
2). nmake /f makefile.vc
3). nmake /f makefile.vc install
4). namke /f makefile.vc devinstall
5. 编译完gdal核心库之后,将根目录中生成的gdal15.dll拷贝到目录pymod和swip/csharp中。
6. 编译swip,生成gdal-wrap .(如果出错,命令最后指定 MSVC_VER=1400)
1). cd到swip\csharp目录 执行: nmake /f makefile.vc interface
2). nmake /f makefile.vc
编译生成8个新的dll
gdal_csharp.dll
ogr_csharp.dll
osr_csharp.dll
gdalconst_csharp.dll
gdal_wrap.dll
ogr_wrap.dll
osr_wrap.dll
gdalconst_wrap.dll
和拷进去的gdal15.dll一起作为c#库。
7. 最后运行 nmake /f makefile.vc test 进行测试。
浙公网安备 33010602011771号