GDAL Linux离线源码编译(附源码及编译步骤)

目录

    • 安装步骤
      • 1、安装sqlite3
        • 1.1提前手工编辑更改一下代码
        • 1.2依次执行下面的编译步骤:
      • 2、安装tiff
      • 3、安装curl
      • 4、安装proj
      • 5、安装geos
      • 6、安装gdal

参考链接:
1、gdal-3.1.2 linux(Ubuntu) 编译 附SQLite3 PROJ6编译
2、QGIS:symbol lookup error: /usr/lib/libgdal.so.1: undefined symbol: sqlite3_column_table_name

工作中经常会进行程序部署,软硬件系统变化程序都需要重新编译进行适配:armCPU、X86CPU 、Ubuntu系统、Redhat、CentOS系统等等都需要重新编译库
安装包源码下载点击【这里(免积分下载)】
包含:
1、sqlite-autoconf-3360000.tar.gz
2、tiff-4.2.0.tar.gz
3、curl-7.71.1.tar.gz
4、proj-7.1.0.tar.gz
5、geos-3.8.1.tar.bz2
6、gdal-2.4.4.tar.gz

安装步骤

安装gdal前需要按照顺序先把sqlite3、tiff、curl、proj、geos库都编译好,最后才能顺利编译出gdal
在线编译gdal以前写过,这里就不说了,特此整理离线编译的方法:
安装前说明:
1、安装根目录:/home/zhupenghui/opencv401/GDAL
2、压缩包所有的都解压到安装根目录
3、./configure 后面的–prefix参数指的是编译后安装目录
4、前面五个库安装./configure 配置的时候只用配置输出目录,在最后进行gdal安装的时候需要配置编译好的proj库的bin文件夹
下面开始编译吧:

1、安装sqlite3

1.1提前手工编辑更改一下代码

如果不更改代码直接编译,在后续运行编译的程序可能异常报错,报错信息如下:

undefined symbol: sqlite3_column_table_name

为避免该报错,需找到压缩包下的sqlite3.c文件,在前面增加定义一下下面的宏(参见参考链接2)

#define SQLITE_ENABLE_COLUMN_METADATA 1  
1.2依次执行下面的编译步骤:
cd /home/zhupenghui/opencv401/GDAL/sqlite-autoconf-3360000
sudo mkdir build
sudo ./configure --prefix=/home/zhupenghui/opencv401/GDAL/sqlite-autoconf-3360000/build
sudo make
sudo make install

完了后设置环境变量

2、安装tiff

cd /home/zhupenghui/opencv401/GDAL/tiff-4.2.0
mkdir build
./configure --prefix=/home/zhupenghui/opencv401/GDAL/tiff-4.2.0/build
make
make install

3、安装curl

cd /home/zhupenghui/opencv401/GDAL/curl-7.71.1
mkdir build
./configure --prefix=/home/zhupenghui/opencv401/GDAL/curl-7.71.1/build
make
make install

4、安装proj

./configure --prefix=/home/zhupenghui/opencv401/GDAL/proj-7.1.0/build
make
make install

5、安装geos

./configure --prefix=/home/zhupenghui/opencv401/GDAL/geos-3.8.1/build
make
make install

6、安装gdal

注意设置proj编译的bin目录,再设置输出目录

cd 
./configure --with-proj=/home/zhupenghui/opencv401/GDAL/proj-7.1.0/build/bin --prefix=/home/zhupenghui/opencv401/GDAL/gdal-2.4.4/build
make
make install

你可能感兴趣的:(C++,GDAL,linux,运维,服务器)