GDAL

一、GDAL是一个读写空间数据(空间数据包括栅格数据和矢量数据)的开源库(但不仅限于此,此外还提         供了一些非常常用的算法和工具).

    GDAL官方网站http://www.gdal.org/

 GDAL源代码下载地址:http://trac.osgeo.org/gdal/wiki/DownloadSource。我下载的gdal-1.8.1。
二、编译步骤:
1、首先进入GDAL的源代码目录,找到makegdal10.sln(表示使用的是VS2010)并打开。在VS的解决方案资源管理器中的makegdal上右键—-重新生成。编译完成后会在GDAL的源代码目录中会出现gdal.lib,gdal_i.lib,gdal18.dll等文件,如果没有修改GDAL中的nmake.opt文件,那么同时会在你的C盘中会出现一个“C:\warmerda\bld”文件夹。
2、使用cmd编译
(1)点击开始–搜索程序和文件处输入cmd,在dos窗口下切换目录到源代码目录(使用cd命令切换,cd ..切换到上一级。实验中使用window+R键,然后输入cmd,此时使用命令行参数会有错误,最好使用Microsoft Visual Studio 2010 的Tools下的命令提示工具打开dos窗口)。如下图:
GDAL - 123 - 123123

  (2)依次输入如下命令

    nmake -f makefile.vc

nmake -f makefile.vc install

nmake -f makefile.vc devinstall

     nmake -f makefile.vc clean

nmake -f makefile.vc MSVC_VER=1600 clean

nmake -f makefile.vc MSVC_VER=1600 DEBUG=1

注:VS2010下MSVC_VER=1600 的值才为1600,其它版本根据情况查阅

3.集成geos

下载网址:http://trac.osgeo.org/geos/

将gdal源码目录中的nmake.opt中的

#GEOS_DIR=C:/warmerda/geos

#GEOS_CFLAGS =-I$(GEOS_DIR)/capi -I$(GEOS_DIR)/source/headers -DHAVE_GEOS

#GEOS_LIB     =$(GEOS_DIR)/source/geos_c_i.lib

修改为:

GEOS_DIR=D:\gdal-1.8.1

GEOS_CFLAGS =-I$(GEOS_DIR)/capi -I$(GEOS_DIR)/source/headers -DHAVE_GEOS

GEOS_LIB     = $(GEOS_DIR)/source/geos_c_i.lib

保存完nmake.opt之后,按照第一步中的编译方式进行编译即可(此次编译在geos-3.3.9目录下编译)。编译后,将geos_c.dll(在D:\gdal-1.8.1\geos-3.3.9\src)文件拷贝到gdal18.dll的同级目录下。

4.集成Proj4

下载地址:http://trac.osgeo.org/proj/

gdal源码目录中的nmake.opt中的

#PROJ_FLAGS =-DPROJ_STATIC

#PROJ_INCLUDE =-Id:\projects\proj.4\src

#PROJ_LIBRARY =d:\projects\proj.4\src\proj_i.lib

修改为:

#PROJ_FLAGS =-DPROJ_STATIC

PROJ_INCLUDE =-ID:\gdal-1.8.1\proj-4.9.1\src

PROJ_LIBRARY =D:\gdal-1.8.1\proj-4.9.1\src\proj_i.lib

保存完nmake.opt之后,按照第一步中的编译方式进行编译即可。编译后,将proj.dll文件拷贝到gdal18.dll的同级目录下,否则会提示你找不到proj.dll文件。

5.集成HDF

下载网址:http://mirror.fcaglp.unlp.edu.ar/pub/ftp.hdfgroup.org/HDF/

gdal源码目录中的nmake.opt中的

# Uncomment thefollowing and update to enable NCSA HDF Release 4 support.

#HDF4_PLUGIN = NO

#HDF4_DIR =       D:\warmerda\HDF41r5

#HDF4_LIB =        /LIBPATH:$(HDF4_DIR)\lib Ws2_32.lib

 

# Uncomment thefollowing and update to enable NCSA HDF Release 5 support.

#HDF5_PLUGIN = NO

#HDF5_DIR =       c:\warmerda\supportlibs\hdf5\5-164-win

#HDF5_LIB =        $(HDF5_DIR)\dll\hdf5dll.lib

修改为下面的代码:

# Uncomment thefollowing and update to enable NCSA HDF Release 4 support.

HDF4_PLUGIN = NO

HDF4_DIR =          F:\Work\3rdPart\HDF4.2.6_win_x86

HDF4_LIB =  $(HDF4_DIR)\dll\hd426m.lib Ws2_32.lib

 

# Uncomment thefollowing and update to enable NCSA HDF Release 5 support.

HDF5_PLUGIN = NO

HDF5_DIR =          F:\Work\3rdPart\HDF5-1.8.7_win_x86

HDF5_LIB = $(HDF5_DIR)\dll\hdf5dll.lib

保存,然后编译gdal即可,同时将hdf库中的dll文件夹下的dll文件拷贝到gdal18.dll的同级目录下。



 time:2015.03.18

转载自:https://blog.csdn.net/sinat_36831355/article/details/81054440

You may also like...