编译C#环境下GDAL(支持HDF4、NetCDF)
2013-10-25 15:10
549 查看
需要文件:
gdal-1.8.0 //gdal1.8版本
swigwin-1.3.4 //gdal1.8版本支持1.3.39系列,1.3.4亦可
HDF4.2.6_win_x86 //HDF4驱动,如要支持hdf4,必须编译
netcdf-4.1.1-win32-src.zip //netCDF驱动,需libsrc文件夹
netcdf-4.1.1-win32-bin.zip //netCDF驱动,需netcdf.lib文件 过程:
1、全部解压 2、用记事本打开gdal-1.8.0文件夹中,make.opt 3、分别修改
MSVC_VER=1400 //1400为visualstudio版本
GDAL_HOME = "C:\warmerda\bld6" //gdal编译生成目录
SWIG = C:\gdal\swigwin-1.3.40\swig.exe //swig目录(全路径,否则加环境变量(不建议))
*hdf4:
# Uncomment the following and update to enable NCSA HDF Release 4 support.
HDF4_PLUGIN = NO
HDF4_DIR = E:\hdf4
HDF4_LIB = $(HDF4_DIR)\dll\hd426m.lib $(HDF4_DIR)\dll\hm426m.lib $(HDF4_DIR)\lib\hd426.lib $(HDF4_DIR) \lib\hm426.lib Ws2_32.lib
*netCDF:
# Uncomment the following to enable NetCDF format.
NETCDF_PLUGIN = yes
NETCDF_SETTING=yes
NETCDF_LIB=E:\netcdf-4.1.1\bin\netcdf.lib
NETCDF_INC_DIR=E:\netcdf-4.1.1\netcdf-4.1.1\libsrc 4、Visual Studio Tools中,找到gdal-1.8.0键入命令:
nmake /f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall 5、以上,对于gdal编译完成(但此时的gdal还不支持C#) 6、接着,进入gdal-1.8.0文件夹中的swig\csharp文件夹,在刚才的命令后
cd swig
cd csharp 7、利用swig转换成支持C#的gdal
nmake /f makefile.vc interface
nmake /f makefile.vc
nmake /f makefile.vc install 8、大功告成! 注意事项:
1、应该说不同版本的gdal支持的swig也不一样。我开始不知道,在这点上吃了很大苦头。
大家可以在gdal的文件中搜索“OsrPINVOKE.cs”或者“OgrPINVOKE.cs”看下支持的版本。 2、有时编译过程中报错是上面两个cs文件中有重复定义的现象,只要找到报错的地方,将那两处注释掉一处即可。 3、编译成功后,在生成文件下(此处"C:\warmerda\bld6")有个bin文件夹。打开cmd,往其中任意拖入一个bin中的.exe,并在其 后输入“--formats”命令,即可看到目前gdal支持的格式了。
gdal-1.8.0 //gdal1.8版本
swigwin-1.3.4 //gdal1.8版本支持1.3.39系列,1.3.4亦可
HDF4.2.6_win_x86 //HDF4驱动,如要支持hdf4,必须编译
netcdf-4.1.1-win32-src.zip //netCDF驱动,需libsrc文件夹
netcdf-4.1.1-win32-bin.zip //netCDF驱动,需netcdf.lib文件 过程:
1、全部解压 2、用记事本打开gdal-1.8.0文件夹中,make.opt 3、分别修改
MSVC_VER=1400 //1400为visualstudio版本
GDAL_HOME = "C:\warmerda\bld6" //gdal编译生成目录
SWIG = C:\gdal\swigwin-1.3.40\swig.exe //swig目录(全路径,否则加环境变量(不建议))
*hdf4:
# Uncomment the following and update to enable NCSA HDF Release 4 support.
HDF4_PLUGIN = NO
HDF4_DIR = E:\hdf4
HDF4_LIB = $(HDF4_DIR)\dll\hd426m.lib $(HDF4_DIR)\dll\hm426m.lib $(HDF4_DIR)\lib\hd426.lib $(HDF4_DIR) \lib\hm426.lib Ws2_32.lib
*netCDF:
# Uncomment the following to enable NetCDF format.
NETCDF_PLUGIN = yes
NETCDF_SETTING=yes
NETCDF_LIB=E:\netcdf-4.1.1\bin\netcdf.lib
NETCDF_INC_DIR=E:\netcdf-4.1.1\netcdf-4.1.1\libsrc 4、Visual Studio Tools中,找到gdal-1.8.0键入命令:
nmake /f makefile.vc
nmake /f makefile.vc install
nmake /f makefile.vc devinstall 5、以上,对于gdal编译完成(但此时的gdal还不支持C#) 6、接着,进入gdal-1.8.0文件夹中的swig\csharp文件夹,在刚才的命令后
cd swig
cd csharp 7、利用swig转换成支持C#的gdal
nmake /f makefile.vc interface
nmake /f makefile.vc
nmake /f makefile.vc install 8、大功告成! 注意事项:
1、应该说不同版本的gdal支持的swig也不一样。我开始不知道,在这点上吃了很大苦头。
大家可以在gdal的文件中搜索“OsrPINVOKE.cs”或者“OgrPINVOKE.cs”看下支持的版本。 2、有时编译过程中报错是上面两个cs文件中有重复定义的现象,只要找到报错的地方,将那两处注释掉一处即可。 3、编译成功后,在生成文件下(此处"C:\warmerda\bld6")有个bin文件夹。打开cmd,往其中任意拖入一个bin中的.exe,并在其 后输入“--formats”命令,即可看到目前gdal支持的格式了。
相关文章推荐
- C#转义字符,以及@的作用
- C# ListView
- c#的字符解析简单示例
- C# 正则表达式
- C# 如何做类似微博和QQ的授权登录
- C# 图片处理 将 图片数组将图片缩放为指定大小
- c#执行Dos命令
- C#字符串的定义和使用
- (C#下使用GDAL库)下载和引用方法
- 关于C#发送邮件模块
- Implement custom foreach function in C#
- C# datagridview 某列只能输入英文或数字
- C#课堂笔记-2013-10-25
- C# TimeSpan时间相减
- Open XML C# and Word docx documents
- C#关于params的用法(使用数量可变的参数)
- C# 关于out关键字的用法(一个方法返回多个值的问题)
- C# 操作Word知识汇总
- C#关于ref的用法(多个实参值的传递)
- .Net 下采用GET/POST/SOAP方式动态调用WebService的简易灵活方法(C#) [轉]Redfox