Linux环境g++编译GDAL动态库操作方法
一、编译步骤
解压下载的GDAL源程序,并在命令行中切换到解压目录。
tar -xzvf gdal-2.1.3.tar.gz cd gdal-2.1.3
GDAL可通过configure来实现一些自定义配置,可通过./configure –h命令来查看。--prefix=path表示设置GDAL的make install后的build目录,里面有生成的头文件和动态库。输入如下命令:
./configure --prefix=/root/Test/gdalbuild
这时可以发现目录中新生成了GDALmake.opt文件,该文件被包含在GNUmakefile中进行编译。输入命令:
make make install
编译完成后,生成的动态库文件就在设置的目录下。Include目录下存放着头文件,lib目录存放动态库文件,bin目录存放可执行文件如gdalinfo。
二、注意说明
1)注意这里是生成在自己设置目录而不是默认目录下,调用的时候需要设置环境变量或者拷贝到系统的lib目录,或者不用设置—prefix参数编译。
2)configure命令还可以用来设置debug版本或者release版本,只需要在后面添加--enable-debug参数就可以控制。默认情况下是关闭的。
--enable-debug enable debugging (disabled by default)
但我发现GDAL这个说明似乎有问题。我分别编译了带这个参数和不带这个参数两个版本:
带参数--enable-debug:
不带参数--enable-debug:
可以看到按照说明的release版本反而比debug版本体积大。一般而言,release版本总比debug版本信息小一点,而按照这篇文章《Linux下查看.so和可执行文件是否debug编译》进行检查是否debug编译,发现两者都是存在debug信息的,release版本比debug版本debug信息少一条:
这样到底哪个是debug版本反而弄不清楚了,只有留待以后研究了。
以上这篇Linux环境g++编译GDAL动态库操作方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- Linux动态库函数的详解
- Linux静态库与动态库实例详解
- 详解dll动态库的开发与调用及文件的读写小程序
- android studio2.3如何编译动态库的过程详解
- Linux下g++编译与使用静态库和动态库的方法
- 解决Linux程序编译链接动态库版本的相关问题
- xcode 详解创建静态库和动态库的方法
- 浅谈Linux C语言动态库及静态库
- c++实现加载so动态库中的资源
- linux 程序、动态库、静态库内部添加版本号和编译时间详解
- 从源码编译Android系统的Java类库和JNI动态库的方法
- C#调用非托管动态库中的函数方法
- Visual Studio中根据系统区分引用64位、32位DLL动态库文件的配置方法
- 动态库调用静态库示例讲解
- linux生成(加载)动态库静态库和加载示例方法
- 深入探讨Linux静态库与动态库的详解(一看就懂)
- 分析Windows和Linux动态库
- 在动态库和静态库中使用模板(dynamic libraries ,static libraries)
- Linux环境g++编译GDAL动态库
- Linux环境g++编译GDAL动态库
- Linux环境g++编译TinyXML动态库
- Linux环境g++编译TinyXML动态库
- linux编译动态库和环境绑定
- Linux 环境下使用g++编译C++
- Linux下g++编译与使用静态库和动态库
- Linux环境下ARM交叉编译找不到libz.so.1的动态库
- Linux环境编译动态库和静态库总结
- Linux下g++编译与使用静态库和动态库的方法
- 在Linux安装及使用g++编译环境
- Linux下g++编译与使用静态库和动态库
- linux系统下使用gcc/g++编译生成动态库
- Linux 环境下使用g++编译C++
- Linux环境编译动态库和静态库总结
- linux下g++ 编译时动态库和静态库的链接和头文件问题
- Linux下g++编译与使用静态库和动态库(仅命令)
- [转]Linux下g++编译与使用静态库(.a)和动态库(.os) (+修正与解释)
- Linux下g++编译与使用静态库和动态库