GADL配置编译

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效果都是一样的

完!

 

posted @ 2015-08-26 13:30  flylong0204  阅读(1317)  评论(0编辑  收藏  举报