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

完!

GADL配置编译的更多相关文章

  1. sublime text 3 快捷键大全以及配置编译环境

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期坚持使用并熟悉这些常用的快捷键 ...

  2. net-snmp-5.7.3配置编译安装

    net-snmp-5.7.3配置编译安装 [TOC] 先看一下系统环境 o@o-pc:~/work/_snmp/net-snmp-5.7.3$ uname -a Linux o-pc 3.16.0-3 ...

  3. (九)uboot配置编译、源码分析

    一.X210官方uboot配置编译实践1.找到官方移植好的uboot(BSP概念)(1)源头的源代码是uboot官网下载的.这个下载的源代码可能没有你当前使用的开发板的移植,甚至找不到当前开发板使用的 ...

  4. sublime text 3 快捷键大全以及配置编译环境(转)

    Sublime text 3是码农最喜欢的代码编辑器,每天和代码打交道,必先利其器,掌握基本的代码编辑器的快捷键,能让你打码更有效率.刚开始可能有些生疏,只要花一两个星期 坚持使用并熟悉这些常用的快捷 ...

  5. Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装

    原文:Linux内核分析(一)---linux体系简介|内核源码简介|内核配置编译安装 Linux内核分析(一) 从本篇博文开始我将对linux内核进行学习和分析,整个过程必将十分艰辛,但我会坚持到底 ...

  6. webstorm配置编译sass的输出目录

    关于这个的问题,虽说不是很难,但还是踩了点小坑,下面就来介绍下如何使用webstorm配置编译sass的输出目录. 1.下载Ruby 2.使用Ruby安装sass 3.检测是否安装成功. 前面的几步很 ...

  7. 【嵌入式开发】 Linux Kernel 下载 配置 编译 安装 及 驱动简介

    作者 : 韩曙亮 转载请出名出处 : http://blog.csdn.net/shulianghan/article/details/38636827 一. Linux 内核简介 1. 内核功能简介 ...

  8. Cocos2d-x 2.2.3 使用NDK配置编译环境

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/wwj_748/article/details/30072379 Cocos2d-x 2.2.3 使用 ...

  9. OpenCV学习笔记一:OpenCV概览与配置编译

    一,OpenCV OpenCV官方网站:http://opencv.org/  OpenCV目前最新代码库地址:https://github.com/itseez/opencv 二,简介: OpenC ...

随机推荐

  1. CSS3 media 入门

    css3 media  严格来说是自适应布局 对不同的屏幕(正确的说应该是) 写不同的css样式.而流式布局 则才算是响应式布局. css3 media  语法: @media mediatype a ...

  2. Linux下安装jetty服务器

    jetty和我们通常使用的tomcat一样,是一个开源的servlet容器,特点是轻量易部署,一方面jetty可以作为web容器使用,另一方面也是最一般的方式是jetty以一组jar包的形式发布,所以 ...

  3. 懒加载插件- jquery.lazyload.js

    Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预 ...

  4. 三年回首:C基础

    atoi 实现注意: 要可以表示负数:处理到空格要结束:空串""返回0:NULL直接seg fault:溢出判断(atoi(2147483648)实际得到的是-2147483648 ...

  5. Java 判断时间是否在指定天数之内

    import java.util.Date; import java.text.SimpleDateFormat; public class WriteForBlog { static private ...

  6. 377. Combination Sum IV

    问题 Given an integer array with all positive numbers and no duplicates, find the number of possible c ...

  7. 文件描述符、文件表项指针、inode节点的关系

    内核使用3种数据结构表示打开的文件,他们之间的关系决定了在文件共享方面一个进程对另一个进程的影响. (1) 每个进程在进程表中都有一个纪录项,纪录项中包含一张打开文件描述符表,每个文件描述符各占一项, ...

  8. mysql 有报错  ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

    sh-4.1# /etc/init.d/mysqld status ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql ...

  9. 与你相遇好幸运,gen8安装

    gen8到手后,立马去买了 SSD https://item.jd.com/2010277.html 支架 https://item.jd.com/2671609.html NAS盘 https:// ...

  10. ***IT程序员自我修养和情商提升文章

    低情商的13个表现 --------------------------------------------------------------------- — THE END —