不用作任何调整,直接在Linux下编译GDAL2.1.1源码的步骤是:

$ ./configure
$ make
$ make install

非常简单,这样也能正常生成gdal动态库、静态库,如果想将生成的文件放到指定的目录,则需改第一条命令为:

$ ./configure --prefix=/home/spring/gdal/gdal_lib

这样生成的动态库、静态库在编译的Linux机子上是能正常使用的,但是将此动态库、静态库放在其它干净的机子上就会提示缺失各种第三方库,如libjpeg、libtiff等错误,这是因为有些项没有开启或关闭导致的,编译时的配置条件改为:

$ ./configure --prefix=/home/spring/gdal/gdal_lib  --with-libz=internal --with-liblzma=no --with-pcraster=internal --with-png=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal
$ make
$ make install

同时需要调整源码中的文件包括:

(1)、gdal\frmts\gtiff\libtiff\gdal_libtiff_symbol_rename.h

(2)、gdal\frmts\gtiff\libtiff\tif_codec.c

(3)、gdal\frmts\gtiff\libtiff\tif_lzma.c

(4)、gdal\frmts\gtiff\libtiff\tiffiop.h

(5)、gdal\frmts\jpeg2000\jpeg2000dataset.cpp

问题基本上都是来源于gdal/frmts目录中各种图像格式解析的源码,可以在配置时选定支持哪些格式、不支持哪些格式。

执行完./configure指令后,显示的配置信息如下:

编译生成的库如果在其它机子上还有问题可以根据错误提示再次修改配置选项。

以上是在Ubuntu14.04 64位机上编译生成的库,如果想在64位机子上编译32位的库,则可以执行:

$ ./configure --build=i686-pc-linux-gun "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"  --prefix=/home/spring/gdal/gdal_lib_32 --with-libz=internal --with-liblzma=no --with-pcraster=internal --with-png=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal
$ make
$ make install

修改后的gdal2.1.1源码放在了GitHub上:

GitHubhttps://github.com/fengbingchun/GDAL_Test

GDAL2.1.1库在Ubuntu14.04下编译时遇到的问题处理方法的更多相关文章

  1. ubuntu14.04下编译安装ambari-2.4.2.0

    ubuntu14.04下编译安装ambari-2.4.2.0 编译前的准备工作 准备工作有: 系统参数 系统依赖(编译环境) 离线安装包 java环境 maven环境 Nodejs环境 git环境 a ...

  2. ubuntu14.04下编译支持opengl的opencv

    在学习基于opencv的AR时,编译程序遇到报错,发现opencv不支持opengl.网上原因得知,在编译opencv时,opencv2.4以后的版本中默认ENABLE_OPENGL = NO,只需要 ...

  3. Ubuntu14.04下编译安装或apt-get方式安装搭建Apache或Httpd服务(图文详解)

    不多说,直接上干货! 写在前面的话 对于 在Ubuntu系统上,编译安装Apache它默认路径是在/usr/local/apache2/htdocs 或者编译安装httpd它默认路径是在/usr/lo ...

  4. ubuntu14.04下搜狗拼音输入法不正常的解决方法

    在终端输入ibus-daemon –drx命令,可以解决该问题.

  5. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  6. ubuntu14.04下搭建python+mysql环境

    简略记录ubuntu14.04下搭建python操作的mysql服务器的过程和其中遇到的问题及解决方法. 第一部分: 安装mysql 安装步骤:1. sudo apt-get install mysq ...

  7. ubuntu14.04下安装cudnn5.1.3,opencv3.0,编译caffe及配置matlab和python接口过程记录

    已有条件: ubuntu14.04+cuda7.5+anaconda2(即python2.7)+matlabR2014a 上述已经装好了,开始搭建caffe环境. 1. 装cudnn5.1.3,参照: ...

  8. 在Ubuntu14.04下安装Docker CE(1) - repository篇

    从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...

  9. ubuntu14.04下svn版本管理系统的安装及常用命令的使用整理

    ubuntu14.04下安装svn$sudo apt-get install subversion 执行这一步就安装完成了,在ubuntu先安装很方便 安装完成后,创建版本库目录,由于是本地环境,就在 ...

随机推荐

  1. Python深入学习之《Fluent Python》 Part 1

    Python深入学习之<Fluent Python> Part 1 从上个周末开始看这本<流畅的蟒蛇>,技术是慢慢积累的,Python也是慢慢才能写得优雅(pythonic)的 ...

  2. ImportError: libmysqlclient.so.20: cannot open shared object file: No such file or directory 解决办法

    >>> import MySQLdbTraceback (most recent call last):  File "<stdin>", line ...

  3. HTTP 中状态码 302的使用场景

    一直都知道302是临时重定向,可是不懂为什么要用这个,直到看到了这个 这样就可以用一个URL,来访问其他的URL上的资源了,非常的nice

  4. c++由string组成的struct初始化崩溃

    struct _UserInfo { string username; string password; string ip; string port; } _UserInfo str={}; 这样就 ...

  5. ASP.NET 页面基本优化.

    一.禁用Browser Link(目前主要用来是刷新vs ide 浏览界面),直接干掉. <!-- Visual Studio Browser Link --> <script ty ...

  6. 【[USACO13NOV]没有找零No Change】

    其实我是点单调队列的标签进来的,之后看着题就懵逼了 于是就去题解里一翻,发现楼上楼下的题解说的都好有道理, f[j]表示一个再使用一个硬币就能到达i的某个之前状态,b[now]表示使用那个能使状态j变 ...

  7. MyBatis(1)优点&介绍&工程

    本次全部学习内容:MyBatisLearning 一:jabc的相关说明: jdbc编程步骤: 加载数据库驱动 创建并获取数据库链接 创建jdbc statement对象 设置sql语句 设置sql语 ...

  8. 用python实现ping

    #!/usr/bin/env python #coding=utf-8 import os import argparse import socket import struct import sel ...

  9. mac无法使用80端口问题

    前言:在mac os中,非root用户是无法使用小于1024的常用端口的.如果开发中需要用到80端口, 就要设置端口转发. hosts文件介绍(1)hosts文件是将域名和IP地址建立映射关系的系统文 ...

  10. Stack栈 Heap堆

    Stack(栈) 栈(stack) 又名堆栈,它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算.这一端被称为栈顶,相对地,把另一端称为栈底.向一个栈插入新元素又称作进栈.入栈或压栈 ...