關於這些庫各自是什麼請百科,或看官網。
以下下載的版本和配置基於windows7 32bit+vs2010,windows+vs平臺下其他的大同小異,別的操作系統的話參考大神李民錄博客
本文算是是以上兩篇博客在windows7 32bit+vs2010平臺下的一個歸納總結
另外,這些GDAL的依賴庫的安裝,你也可以不全部裝,想裝哪個就下哪個,編譯哪個,GDAL中的便已配置文件nmake.opt就改對應的地方,詳細看下面。
一、下載並解壓(括號內附上各庫官網)
1、GDAL源代碼下載地址:
ftp://ftp.remotesensing.org/gdal,http://download.osgeo.org/gdal/,(官網:http://www.gdal.org/)
2、GEOS源代碼下載地址:
官網下download標籤點擊一個直接下載,(官網:http://trac.osgeo.org/geos/)
3、PROJ4源代碼下載地址:
官網下download標籤下source code下點擊直接下載,(官網:http://trac.osgeo.org/proj/)
4、HDF4\HDF5!編譯過!下載地址:
HDF4.2.6:http://www.hdfgroup.org/ftp/HDF/releases/HDF4.2.6/bin/windows/,
HDF1.8.7:http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.7/bin/windows/,
均點選有win x86(需要64位的選win x64)字樣的那個下載,推薦下載這兩個版本,更高版本的文件結構改變,後面的配置會不一樣哦。。。差那麼一點版本也無所謂啦。
下載完了之後解壓的地址:
GDAL的可以隨便放,GEOS和PROJ4的源碼在後面配置GDAL的編譯時需要用到的,最好規劃好地方,不然電腦文件夾很亂。HDF是編譯過的,也最好規劃好。
那我是這樣放的:
GDAL源碼地址:E:\STUDY\學習\GDAL
然後在D盤新建一個文件夾GDAL用來存放編譯後的GDAL,裏面才建一個supportlibs文件夾存放依賴庫
GEOS源碼地址:D:\GDAL\supportlibs\geos-3.4.2
PROJ4源碼地址:D:\GDAL\supportlibs\proj-4.8.0
HDF4地址:D:\GDAL\supportlibs\HDF4.2.6_win_x86
HDF5地址:D:\GDAL\supportlibs\HDF5-1.8.7_win_x86
二、編譯支持庫GEOS+PROJ4
1、打開vs2010命令行工具
開始菜單->所有程序->Microsoft Visual Studio 2010->VisualStudio Tools->Visual Studio命令提示(2010),右鍵管理員打開
2、在這個命令提示工具中進入之前源碼存放的位置
方法:以D:\GDAL\supportlibs\geos-3.4.2爲例,首先輸入D:回車,然後輸入cd D:\GDAL\supportlibs\geos-3.4.2回車
編譯GEOS和PROJ4要分別進入各自的源代碼文件夾,這裏只是放在一起講
3、編譯
GEOS:進入源代碼目錄後,首先輸入autogen.bat回車,然後輸入nmake /f makefile.vc src_dir回車
PROJ4:進入源代碼目錄後,直接輸入nmake /f makefile.vc install-all回車
三、編譯GDAL
1、修改編譯配置文件nmake.opt(看着很多代碼,其實只要細心很簡單,關鍵要細心)
首先修改編譯後GDAL存放路徑的配置,修改nmake.opt文件中的54行左右,改爲你想要存放的地址,代碼如下:
GDAL_HOME= "D:\GDAL"
以下內容參考GDAL源碼剖析(二)之編譯說明
主要是將之前哪些庫的相關路徑寫到GDAL的編譯配置文件nmake.opt中去
1)、集成HDF數據讀取
修改nmake.opt文件中的330行左右,代碼如下:
#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 = D:\GDAL\supportlibs\HDF4.2.6_win_x86
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
# Uncomment the following and update to enable NCSA HDF Release 5 support.
HDF5_PLUGIN = NO
HDF5_DIR = D:\GDAL\supportlibs\HDF5-1.8.7_win_x86
HDF5_LIB = $(HDF5_DIR)\dll\hdf5dll.lib
對比代碼如下圖:(路徑以上面爲準)
保存。
2)、集成Proj4
同GEOS庫的配置方法,在nmake.opt文件中,找到proj4庫的位置,大概在352行左右。將下面的三行代碼:
#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\supportlibs\proj-4.8.0\src
PROJ_LIBRARY = D:\GDAL\supportlibs\proj-4.8.0\src\proj_i.lib
其中第一行表示是否使用靜態鏈接的方式,第二行的路徑表示,proj庫存放的位置,第三行爲proj庫的lib文件所在路徑。修改後保存即可,對比結果如下圖如下:(路徑以上面爲準)
保存。
3)、集成GEOS
首先使用記事本或者其他的文本編輯器打開GDAL源代碼目錄下的nmake.opt文件,找到“# Uncomment for GEOS support”這句,大概在405行左右,將下面三行代碼:
#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\supportlibs\geos-3.4.2
GEOS_CFLAGS = -I$(GEOS_DIR)/capi -I$(GEOS_DIR)/include -DHAVE_GEOS
GEOS_LIB = $(GEOS_DIR)/src/geos_c_i.lib
對比結果如下圖如下:(路徑以上面爲準)
編譯後的GDAL就將會支持圖形之間的操作等處理。函數主要是在OGR庫中。保存
2、編譯GDAL
1)、打開vs2010命令行工具
開始菜單->所有程序->Microsoft Visual Studio 2010->VisualStudio Tools->Visual Studio命令提示(2010),右鍵管理員打開
2)、在這個命令提示工具中進入之前GDAL源碼存放的位置
方法:以E:\STUDY\學習\GDAL\gdal1100\gdal-1.10.0爲例,首先輸入D:回車,然後輸入cd E:\STUDY\學習\GDAL\gdal1100\gdal-1.10.0回車
3)、編譯
首先輸入nmake /f makefile.vc回車
然後輸入nmake /f makefile.vc install回車
最後輸入nmake /f makefile.vc devinstall回車
等待編譯完成!
3)、拷貝GEOS+PROJ4+HDF的dll文件到GDAL目錄
編譯後,記得將hdf庫中的dll文件夾下的dll文件、PROJ4庫源代碼src文件夾下的dll文件proj.dll、GEOS庫文件夾下src文件夾中geos_c.dll文件,都拷貝到GDAL編譯後存放的目錄下的bin文件夾中gdal18.dll的同級目錄下,否則會提示你找不到proj.dll、geos_c.dll文件。