一、准备工作

从官网下载GDAL、PROJ.4和GEOS,将其存放在/home/liml/Work/3rdPart目录并解压,如下图所示。下载地址请自行Google。注:使用的系统是CentOS6.4 X64版本,其他的Linux系统都是一样的。

接下来检查系统中是否安装了开发环境和编译环境,在终端输入gcc、g++、make回车,如果提示命令不存在,就说明系统没有安装编译环境,请先安装编译环境,下面的内容都是在安装编译环境之后才能进行。为了后续安装,可能需要root权限,所以首先打开终端,并使用su命令切换到root用户。

二、编译GDAL及其依赖库

下面的内容主要为编译GDAL,同时将GDAL库以来的PROJ.4和GEOS库也进行编译,详细步骤如下。由于在Linux下编译程序步骤都是一样的,所以截图就有一个就行了,有些没有截图。

1、编译PROJ.4

打开终端使用cd命令切换到PROJ.4的目录,然后依次输入下面的三个命令回车就可以完成安装。

./configure
make
make install

安装之后的文件在/usr/local下面,其中bin下面存放可执行程序,includes存放源代码,lib下存放lib库。

2、编译GEOS

打开终端使用cd命令切换到GEOS的目录,然后依次输入下面的三个命令回车就可以完成安装。

./configure
make
make install

安装之后的文件在/usr/local下面,其中bin下面存放可执行程序,includes存放源代码,lib下存放lib库。编译如下图所示。

打开/usr/local目录,使用ls命令查看文件夹中的文件,如下图所示,bin、includes和lib目录中的文件如下图所示,可以看到proj和geos的文件都被安装到该目录。

3、编译GDAL

打开终端使用cd命令切换到GDAL的目录,然后依次输入下面的三个命令回车就可以完成安装。

./configure
make
make install

输入./configure执行输出的信息中如果出现GEOSsupport: yes的字样,如下图,说明编译出来的GDAL是有GEOS库支持的,否则就没有,如下图高亮显示的部分。另外由于GDAL对PROJ4库是动态加载的,所以不需要进行特殊的修改就行,只要将PROJ的动态库和gdal的动态库放一起就好了。

安装之后的文件在/usr/local下面,其中bin下面存放可执行文件,includes存放源代码,lib下存放lib库。如果想验证GDAL是否安装成功,除了使用上面的ls和cd命令切换到/usr/local目录下查看,还可以直接在终端输入gdalinfo回车,看看会不会输出gdalinfo的帮助信息,如果输出帮助信息说明安装成功,如果提示命令不存在,说明安装不成功,如下图。

最后感叹一下,还是Linux下编译方便啊,Windows下修改一大堆,唉。最后在加一下,如果你想集成HDF之类的库的话,同样,直接下载源代码,用上面的三个命令编译安装完,然后用gdal的./configure进行配置,如果出现yes的就说明可以进行集成。

Linux下编译GDAL的更多相关文章

  1. linux下编译gcc6.2.0

    linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...

  2. LINUX下编译安装PHP各种报错大集合

    本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...

  3. linux下编译安装vim7.4并安装clang_complete插件

    linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...

  4. linux下编译出现空间不足解决办法

    linux下编译出现空间不足解决办法 编译内核出现问题: AS      .tmp_kallsyms1.o .tmp_kallsyms1.S:2: fatal error: when writing ...

  5. linux下编译安装curl

    linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...

  6. 如何在Kali Linux下编译Windows Exploit

    前言 微软的Windows在企业或是个人应用领域占据着最大的市场份额,在渗透测试过程中你会经常遇到很多Windows的工作站和服务器.另一方面,大多数渗透测试人员主要使用基于Linux的发行版渗透测试 ...

  7. 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序

    如何用javac 和java 编译运行整个Java工程 (转载)  http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...

  8. linux下编译qt5.6.0静态库——configure配置

    linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...

  9. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

随机推荐

  1. 这是一个测试,测试markdown语法

    [TOC] 1. chpt1 这是一段话,前面没有空格 前面有4个空格,且在编辑状态下上面没有空行 前面有4个空格,且在编辑状态下上面有一个空行. 前面按了一下tab 1.1 1.1 2 段落1 前面 ...

  2. Java中获取文件大小的正确方法

    本文出处:http://blog.csdn.net/djy1992/article/details/51146837,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在原始 ...

  3. 用类模拟C风格的赋值+返回值

    这个方法比较好: class DataHolder: def __init__(self, value=None): self.value = value def set(self, value): ...

  4. Dynamics CRM2016 Web API之Expand related entities & $ref & $count

    本篇介绍两个关于1:N关系中通过主实体取关联子实体的api,这两个api会经常被用到而且比原来的odata方式更加方便,之前如果我们要取主实体下所有的关联实体的记录都是通过Retrieve Multi ...

  5. JAVA面向对象-----构造方法

    我们人出生的时候,有些人一出生之后再起名字的,但是有些人一旦出生就已经起好名字的.那么我们在java里面怎么在对象一旦创建就赋值呢? 构造方法作用 构造方法作用:对对象进行初始化. 构造函数与普通的函 ...

  6. python+OpenCV 特征点检测

    1.Harris角点检测 Harris角点检测算法是一个极为简单的角点检测算法,该算法在1988年就被发明了,算法的主要思想是如果像素周围显示存在多于一个方向的边,我们认为该点为兴趣点.基本原理是根据 ...

  7. Unity UGUI图文混排源码(三) -- 动态表情

    这里是根据图文混排源码(二)进一步修改的,其他链接也不贴了,就贴一个链接就好了,第一次看这文章的同学可以先去看看其他几篇文章 Unity UGUI图文混排源码(二):http://blog.csdn. ...

  8. 安卓自定义View实现图片上传进度显示(仿QQ)

    首先看下我们想要实现的效果如下图(qq聊天中发送图片时的效果): 再看下图我们实现的效果: 实现原理很简单,首先我们上传图片时需要一个进度值progress,这个不管是自己写的上传的方法还是使用第三方 ...

  9. 参数估计:最大似然估计MLE

    http://blog.csdn.net/pipisorry/article/details/51461997 最大似然估计MLE 顾名思义,当然是要找到一个参数,使得L最大,为什么要使得它最大呢,因 ...

  10. 01基于配置文件方式的SpringMVC,三种HandlerMapping,三种控制器

     1 添加Spring MVC所需的jar包. 2 创建一个以下项目结构的springmvc项目 3 web.xml的配置如下: <?xmlversion="1.0"en ...