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. ...
随机推荐
- Spring完全基于Java配置和集成Junit单元测试
要点: 配置继承WebApplicationInitializer的类作为启动类,相当于配置web.xml文件 使用@Configuration注解一个类,在类中的方式使用@Bean注解,则表名该方法 ...
- OWASP Top 10十大风险 – 10个最重大的Web应用风险与攻防
先来看几个出现安全问题的例子 OWASP TOP10 开发为什么要知道OWASP TOP10 TOP1-注入 TOP1-注入的示例 TOP1-注入的防范 TOP1-使用ESAPI(https://gi ...
- ArrayList中的modCount与ConcurrentModificationException
在看ArrayList源码时,看到了一个字段modCount.在add.remove.clear等方法中都有modCount++的操作.不明白什么意思.点进去看了看该字段的解释,总算明白了.modCo ...
- Linux下文件的mtime/atime/ctime研究
概述 在Linux下,对于某一个文件或文件夹时间的描述有三种:文件修改时间mtime,文件访问时间atime,文件状态改变时间ctime.在Linux下无法获取到文件的创建时间,因为根本就没有保存这个 ...
- 熟悉Python的各种基础小算法
网上有一个Python100小例子的栏目,里面代码良莠不齐,于是下面就自己实现了其中的一些案例. 01.py # coding:utf-8 import sys reload(sys) sys.set ...
- premake设置静态运行库
premake设置静态运行库(金庆的专栏)链接protobuf库时,碰到RuntimeLibrary不匹配:1>libprotobufd.lib(int128.obj) : error LNK2 ...
- SpriteKit中的共享动作(Sharing Actions)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 在SpriteKit中某些动作需要一些额外的延时,如果每次都重 ...
- cocos2dx 3.2之Lua打飞机项目
1 创建lua打飞机项目 cocos new T32Lua -dE:\Installed\cocos2d-x-3.2\cocos2d-x-3.2\projects -l lua 2 ...
- 手动添加SSH支持、使用c3p0
之前做的笔记,现在整理一下:大家有耐心的跟着做就能成功: SSH(struts2.spring.hibernate) * struts2 * 充当mvc的角色 * hibernate ...
- JobTracker,TaskTracker简述
JobTracker 负责接收用户提交的作业,负责启动.跟踪任务执行.JobSubmissionProtocol是JobClient与JobTracker通信的接口.InterTrackerProto ...