GADL配置编译
文章1:Win7(32/64)VS2010配置编译GDAL环境(图文教程+亲测可用!)
转载:http://malagis.com/win7-vs2010-gdal.html
近的一个VS2010的项目中用到了GDAL,关于GDAL这个库的说明与赞美,这里就不赘述了,下面是在VS2010中配置GDAL的详细过程。
系统说明
Win7(32位/64位),VS2010,GDAL 1.10.1(截止本文发布的最新版),进行下面的操作之前,请确保您已经正确安装了VS2010,步骤如下:
1.下载GDAL
点击进入GDAL的官方下载页面,根据需要选择不同的版本,根据测试之前的GDAL1.9.1 0往后的版本均可以按照本文的方法编译成功。下载完成后解压到一个根目录下,因为这样后面的操作会比较方便,本文所解压的地址为
D:\gdal-1.10.1
如果你解压的地址跟本文不同,可以按照实际情况做出修改。
2.执行VCVARS32.BAT
以管理员身份运行cmd,(您可以在开始菜单搜索cmd,然后右击选择用管理员身份运行,也可以在C:\windows\system32下找到cmd.exe右击选择采用管理员身份运行),如图:
然后在cmd中切换到VS2010的安装目录,例如本文中的是
C:\program files\Microsoft Visual Studio 10.0\VC\bin
执行VCVARS32.BAT,如图:
3.编译GDAL
在cmd中切换目录到
D:\gdal-1.10.1
目录下,运行如下命令
nmake /f makefile.vc
编译过程可能需要几分钟,根据系统的配置而定,如图
4.设置输出目录
找到下载目录中的nmake.opt文件,例如本文的中的文件路径为:
D:\gdal-1.10.1\nmake.opt
用文本编辑器(建议使用现代化文本编辑器例如notepad++)打开修改GDAL_HOME的值为安装目录。本文中使用的目录如下:
GDAL_HOME = "D:\GDAL"
如图:
5.安装GDAL
回到CMD界面,切换到解压目录(本文的是D:\gdal-1.10.1)下,执行如下两条命令:
nmake /f makefile.vc install
nmake /f makefile.vc devinstall
如图所示:
先执行nmake /f makefile.vc install
再执行nmake /f makefile.vc devinstall
等待一段时间之后,GDAL就算真正的编译完成了,这时候打开步骤4中设置的安装目录,需要的东西就在里面了,有bin,data,html,lib,include几个文件夹。如图所示:
安装完成以后需要在VS2010的项目中配置GDAL,具体方法情看:VS2010中项目配置引入GDAL
6.其他方法
Windows下,cmd定位至gdal目录,运行makegdal_gen.bat生成.vcproj,然后打开生成即可;Linux下,terminal定位至gdal目录,运行./configure,然后运行make命令即可,如需安装,运行sudo make install。 来自@hao,也可以测试下。
文章二:编译C#版GDAL-1.11.1(含GEOS,PROJ,HDF)
转载:http://blog.csdn.net/u010771437/article/details/41477333
C#版GDAL-1.11.1编译(含GEOS,PROJ,HDF)
——2014.11.25霍少峰
这里选择的版本是:gdal-1.11.1.tar.gz、geos-3.4.2.tar.bz2、proj-4.8.0.tar.gz、swigwin-3.0.2、HDF4.2.6_win_x64.zip和HDF5-1.8.7_win_x64.zip。本机为64位Win7操作系统。
首先在http://trac.osgeo.org/gdal/wiki/DownloadSource下载http://download.osgeo.org/gdal/1.11.1/gdal-1.11.1.tar.gz - source as .tar.gz( md5)
然后解压,我将解压的文件放在了C盘,即C:\gdal-1.11.1。
这里我使用cmd命令行方法进行编译。
首先以管理员身份运行方式打开“Visual Studio x64兼容工具命令提示(2010)”命令,如下图1:
图1
然后使用cd命令(没用过的请百度一下,挺有用的),切换到GDAL的源代码目录(C:\gdal-1.11.1),如下图2:
图2
接着修改gdal1.11.1文件夹里面的nmake.opt文件的“#WIN64=YES”为WIN64=YES,然后依次输入下面的命令后回车,等待编译结束。
nmake –f makefile.vc
(上面的意思是编译GDAL库)
nmake –f makefile.vc install
(上面的意思是编译GDAL库并安装,安装的意思是将生成的dll、exe等文件复制到C:\warmerda\bld目录)
nmake –f makefile.vc devinstall
(上面的意思是编译GDAL库并安装开发者模式,安装的意思同上,开发者模式意思是将开发用到的include文件夹中的头文件和lib文件一同复制到C:\warmerda\bld目录,此时会在C:\warmerda\bld目录中添加两个文件夹,分别是include和lib,分别存放GDAL的头文件和lib文件,用于调用GDAL库)
通过以上的过程就完成了编译GDAL库。而且会在C盘生成如下内容,如图3:
图3
下面集成GEOS和PROJ.4
为了集成GEOS和PROJ.4,需要先在网上下载压缩包,然后解压,编译,编译好以后再修改gdal-1.11.1的nmake.opt文件重新编译一次gdal。
首先从http://download.osgeo.org/proj/proj-4.8.0.tar.gz下载proj-4.8.0,然后解压(我同样是 C:\proj-4.8.0)
再次以管理员身份运行“Visual Studio x64兼容工具命令提示(2010)”,使用cd命令切换到C:\proj-4.8.0,如图4:
图4
然后输入以下两个命令:
nmake /f makefile.vc ( 如图5)
图5
nmake /f makefile.vc install-all (如图6.1,6.2)
图6.1
图6.2
编译完成后会在C盘生成一个PROJ目录(图7):
图7
然后就可以修改gdal-1.11.1里面的nmake.opt为(图8):
图8
接着按照最上面编译GDAL的方法重新编译一次GDAL,这样编译出来的GDAL就集成了PROJ.4库,支持投影转换等功能。或者直接将PROJ.4库编译出来的dll复制到GDAL的dll所在的目录也行。下图9是重新编译成功GDAL库的结果:
图9
下面实现集成GEOS库
同样先下载:http://download.osgeo.org/geos/下载 geos-3.4.2.tar.bz2
然后解压到C:\ geos-3.4.2
再次以管理员身份运行“Visual Studio x64兼容工具命令提示(2010)”,使用cd命令切换到C:\geos-3.4.2(图10):
图10
然后输入以下两个命令:
autogen.bat (图11)
图11
nmake /f makefile.vc (图12)
图12
这样编译完成GEOS后,src目录下会生成GEOS库的lib和dll文件(图13):
图13
然后就可以如同PROJ.4那样重新编译GDAL库了,修改gdal-1.11.1的nmake.opt为:
注意,这时如果仍然按照李民录老师的博客或书上所写的如下图14所示是行不通的。
图14
应该修改为图15所示(因为GEOS库发生了变化,原来的source变成了src,并且里面没有headers这一个文件夹了,里面的内容全部放到外面的一个include文件夹里面了):
图15
这样编译出来的GDAL就集成了GEOS库,支持矢量图形空间操作等功能,重新编译结果如下图16:
图16
编译完成后,需要将geos_c.dll文件复制到gdal111.dll的同级目录下,否则会提示找不到geos_c.dll。
下面实现集成HDF数据读取
首先仍需要下载:http://www.hdfgroup.org/downloads/,然后分别转到http://www.hdfgroup.org/ftp/HDF5/releases/和http://www.hdfgroup.org/ftp/HDF/prev-releases/。通过上面两个链接,选择相应版本、bin、windows然后选择相应的进行下载
下载编译好的HDF4和HDF5的库。这里下载的是HDF4.2.6_win_x64.zip和HDF5-1.8.7_win_x64.zip。
修改gdal-1.11.1的nmake.opt如下图17:
图17
然后就可以重新编译GDAL库了,结果如下图18:
图18
同时,将HDF库中的dll文件夹下的dll文件复制到gdal111.dll的同级目录下。
下面编译C#版本的GDAL
这里要用到SWIG,到http://www.swig.org/download.html下载。注意,这里应该下载文件:swigwin-3.0.2.zip,而不是源代码:swig-3.0.2.tar.gz,
然后解压,位于(如图19):
图19
然后就需要将解压目录加到环境变量Path中,否则后面需要设置SWIG的所在目录(图20)。
图20
检验SWIG是否成功设置到环境变量Path中的办法是:在运行中输入swig后回车,会有一个黑屏一闪而过。
(注意,如果成功设置了环境变量,gdal-1.11.1的nmake.opt就不需再修改了,如果没有成功设置环境变量,则需将下图21第三行改为“SWIG=C:\SWIG\swigwin-3.0.2\swig.exe”)
图21(成功设置了环境变量,不需修改)
然后就可以按照最上面的方法(3个命令)重新编译GDAL了。
执行完后,接着使用cd命令,进入swig\csharp文件夹中并使用nmake工具编译,命令如下:
cd swig\csharp (图22)
图22
nmake /fmakefile.vc
nmake /fmakefile.vc install
结果如图23
图23
执行完后,系统会在csharp文件夹下生成8个dll文件,这时我们把这8个dll文件复制到GDAL输出目录下的csharp文件夹中。
这样就可以在C#项目中调用GDAL库了。
至此,编译完成。
注意1:
在我后面继续编译GDAL的时候,使用了swigwin-3.0.5转换成C#版,出现了如下问题:
和
的问题,解决方法是重新下载了低版本的swigwin-1.3.36,并写进了环境变量中,然后就可以编译通过了(如果出现了像“注意2”中的问题,则可以参考其解决方法)。
注意2:
在编译C#版本的GDAL时出现了
如下图24所示的问题,然后先nmake /f makefile.vc clean,再继续
图24
然后又出现了如下图25所示的问题,然后通过如下interface解决了:
图25
按照同样的方式,我们可以通过修改配置文件使GDAL支持NetCDF,Oracle等。
注意,上述过程中使用 -f或者/f效果都是一样的
完!