Linux下编译GDAL
一、准备工作
从官网下载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的更多相关文章
- linux下编译gcc6.2.0
linux下编译gcc6.2.0 在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8.官方源没有比较新的版本,于是自己编译使用. GCC6的几个新特性 GCC 6 ...
- LINUX下编译安装PHP各种报错大集合
本文为大家整理汇总了一些linux下编译安装php各种报错大集合 ,感兴趣的同学参考下. nginx1.6.2-mysql5.5.32二进制,php安装报错解决: 123456 [root@clien ...
- linux下编译安装vim7.4并安装clang_complete插件
linux下编译安装vim7.4并安装clang_complete插件 因为debian里软件仓库中下载安装的vim是不支持python写的插件的(可以打开vim,在命令模式先输入:py测试一下),导 ...
- linux下编译出现空间不足解决办法
linux下编译出现空间不足解决办法 编译内核出现问题: AS .tmp_kallsyms1.o .tmp_kallsyms1.S:2: fatal error: when writing ...
- linux下编译安装curl
linux下编译安装curl 1.下载curl git clone https://github.com/curl/curl.git 2.在curl目录下生成configure文件 ./buldcon ...
- 如何在Kali Linux下编译Windows Exploit
前言 微软的Windows在企业或是个人应用领域占据着最大的市场份额,在渗透测试过程中你会经常遇到很多Windows的工作站和服务器.另一方面,大多数渗透测试人员主要使用基于Linux的发行版渗透测试 ...
- 如何用javac 和java 编译运行整个Java工程 (转载)【转】在Linux下编译与执行Java程序
如何用javac 和java 编译运行整个Java工程 (转载) http://blog.csdn.net/huagong_adu/article/details/6929817 [转]在Linux ...
- linux下编译qt5.6.0静态库——configure配置
linux下编译qt5.6.0静态库 linux下编译qt5.6.0静态库 configure生成makefile 安装选项 Configure选项 第三方库: 附加选项: QNX/Blackberr ...
- linux下编译安装boost库
linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...
随机推荐
- Java程序员的现代RPC指南
Java程序员的现代RPC指南 1.前言 1.1 RPC框架简介 最早接触RPC还是初学Java时,直接用Socket API传东西好麻烦.于是发现了JDK直接支持的RMI,然后就用得不亦乐乎,各种大 ...
- Android Support库——support annotations
Android Support库是官方出的支持扩展库,包含了丰富的组件.工具类等,通过在Android SDK Manager中勾选以下两项来获取到. 其中,Android Support Libra ...
- O(1)空间内实现矩阵转置
思路: * 每个元素转置前后会形成一个环(一个数字有多个环) * 利用环来移动元素达到转置 * 关键: * 1.得到元素下标的前驱后继, * 2.判断环是否已走过(意味属于一个环的元素一次转 ...
- 让你的代码量减少3倍!使用kotlin开发Android(四) kotlin bean背后的秘密
上一篇我们介绍了缩短五倍的java bean,不知道你在看的时候有没有一种疑问捏? 本文同步自博主的私人博客wing的地方酒馆 再来回顾一下,两种代码的对比 public class User { p ...
- Android ocr识别文字介绍(文字识别)
最近在做身份证号码识别,在网上搜索的一番后发现目前开源的OCR中tesseract-ocr算是比较强大的了,它由HP于1985年到1995年间开发,后来由google直接负责,经过谷歌进一步开发后,目 ...
- SQLite Update 语句(http://www.w3cschool.cc/sqlite/sqlite-update.html)
SQLite Update 语句 SQLite 的 UPDATE 查询用于修改表中已有的记录.可以使用带有 WHERE 子句的 UPDATE 查询来更新选定行,否则所有的行都会被更新. 语法 带有 W ...
- java中抽象类的定义和使用
java虽然比较简单,但是细节的知识点还是很多的,现在,介绍一下抽象类的定义和实现基础. 指的是在类中定义方法,而不去实现它,而在它的子类中去具体实现,继承抽象类的子类必须实现父类的抽象方法,除非子类 ...
- Android必知必会-获取视频文件的截图、缩略图
背景 公司最近要求给我负责的APP加上视频录制和发布的功能,我简单的完成了基本的录制和视频压缩功能,后来发现发布接口需要上传视频的截图,网上搜索了一下资料,在这里整理一下. 代码实现 /** * 获取 ...
- Socket实现聊天客户端
今天在极客学院上看到了一个关于Socket的视频讲解,感觉还不错,就写了份代码,拿来分享一下. Socket使用方法 关于Socket的使用,我们首先要弄清楚的是,在服务器端还是在客户端使用.因为这的 ...
- JSP自定义标签必知必会
自定义标签技术自sun公司发布以来,便一向很受欢迎!下面我就来谈一谈如何实现自定义标签,以及如何使用自定义标签. 如何实现自定义标签 首先我们应该知道原理,不管是标签还是JSP,本身实际上都会被JSP ...