最开始安装的版本为gdal-3.3.3,后面更新一版gdal3.8.5的版本安装
一. 配置环境
最新版容易出问题,日常使用的话,gdal3.3.3就可以了。
1. gdal-3.3.3 https://github.com/OSGeo/gdal/releases/download/v3.3.3/gdal-3.3.3.tar.gz
2. proj-6.2.1 https://download.osgeo.org/proj/proj-6.2.1.tar.gz
3.sqlite3-340 https://www.sqlite.org/2023/sqlite-autoconf-3440000.tar.gz1
4.麒麟桌面操作系统v10, 虚拟机是VirtualBox6.1
二. 安装
1. 首先安装sqlite3
#第一种方法安装到指定路径下
# 将下载好的tar.gz源码包移动至/usr/local下解压
[root@192 ~]# tar -zxvf sqlite-autoconf-3440000.tar.gz -C /usr/local/
[root@192 ~]# cd /usr/local/sqlite-autoconf-3400000/
# 检查环境
[root@192 sqlite-autoconf-3400000]# ./configure --prefix=/usr/local/sqlite-autoconf-3400000
# 编译
[root@192 sqlite-autoconf-3400000]# make
# 安装
[root@192 sqlite-autoconf-3400000]# make install
# 将sqlite3命令软连接到/uer/bin下
[root@192 sqlite-autoconf-3400000]# ln -s /usr/local/sqlite-autoconf-3400000/bin/sqlite3 /usr/bin/sqlite3
# 查看版本
[root@192 sqlite-autoconf-3400000]# sqlite3 --version
3.40.0 2022-11-16 12:10:08 89c459e766ea7e9165d0beeb124708b955a4950d0f4792f457465d71b158d318
[root@192 sqlite-autoconf-3400000]#
# 第二种方法安装到默认路径下
tar -zxvf sqlite-autoconf-3440000.tar.gz
cd /usr/local/sqlite-autoconf-3400000/
sudo ./configure # 这里不指定安装路径
sudo make
sudo make install
这里可能需要设置下系统环境,防止proj找不到
我这里采用的第二种方法安装的sqlite3,因此在/etc/profile文件里面,把sqlite3的路径加上去。
# SQLite
export SQLITE3_LIBS="-L/usr/local/lib -lsqlite3"
export SQLITE3_CFLAGS="-I/usr/local/include"
最后刷新环境
source /etc/profile
2. 再安装proj6.2.1
wget https://download.osgeo.org/proj/proj-6.2.1.tar.gz
tar zxvf proj-6.2.1.tar.gz
cd proj-6.2.1
#千万注意这里,我的一直提示找不到sqlite3,最后我直接将sqlite3的路径带上去才解决sudo ./configure --prefix=/home/software/proj/build SQLITE3_CFLAGS=-I/usr/local/include SQLITE3_LIBS="-L/usr/local/lib -lsqlite3"
sudo ./configure # --prefix=/home/software/proj/build
sudo make && make install
3. 安装gdal3.3.3
tar zxvf gdal-3.3.3.tar.gz
cd gdal-3.3.3
# 这里看情况,有人说要带上proj, sudo ./configure --prefix=/opt/gdal-3.3.3 --with-proj=/opt/
# proj-6.2.1
# 但是我的不需要
./configure #--prefix=/opt/gdal-3.3.3
sudo make && make install
基本上就这样了,还是很好安装的。
注意!!!
这里可能有个错误
是需要sudo ldconfig的,重新将库引入系统,再次编译运行如下:
=====================================================================
更新 2024-04-20
三. 安装gdal3.8.5
想试试最新版的gdal3.8.5, 因此在休息时间配置一个最新版的gdal,供大家参考
3.1 安装SQLite3
使用的是sqlite-345版本,下载地址SQLite Download Page,安装过程很简单
tar -zxvf sqlite-autoconf-3450300.tar.gz
cd sqlite-autoconf-3450300
//这里我安装到自定义目录下
./configure --prefix=/usr/local/sqlite-3.4.5
make
make install
3.2 安装proj9.4
首先说明下,我们看下官方安装建议
Installation — PROJ 9.4.0 documentation
Build requirements
C99 compiler
C++11 compiler
CMake >= 3.16
SQLite3 >= 3.11: headers and library for target architecture, and sqlite3 executable for build architecture.
libtiff >= 4.0 (optional but recommended)
curl >= 7.29.0 (optional but recommended)
虽然libtiif 和 curl 是可选的,但是我安装的时候 libtiff 不安装的话,在make步骤会报错,因此建议你先把libtiff安装上
官网下载libtiff, Index of /libtiff/ ,这里建议安装 tiff-4.0.10版本!!!,否则后面安装gdal的时候会报错,参考编译报错:undefined reference to `TIFFReadDirectory@LIBTIFF_4.0‘解决方法_/usr/lib/x86_64-linux-gnu/libopencv_imgcodecs.so.3-CSDN博客
tar -zxvf tiff-4.0.10.tar.gz
cd tiff-4.0.10
//安装到自定义目录下
./configure --prefix=/usr/local/libtiff-4.0.10
make
make install
接下来安装proj9.4, 需要说明的是proj9.4解压后是没有configure的,因此需要用cmake编译。官方安装步骤:https://proj.org/en/9.4/install.html
tar -zxvf proj9.4.tar.gz
cd proj9.4
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/proj-9.4 -DSQLITE3_INCLUDE_DIR=/usr/local/sqlite3/include -DSQLITE3_LIBRARY=/usr/local/sqlite3/lib/libsqlite3.so -DTIFF_INCLUDE_DIR=/usr/local/libtiff-4.0.10/include -DTIFF_LIBRARY=/usr/local/libtiff-4.0.10/lib/libtiff.so -DCURL_INCLUDE_DIR=/usr/local/curl/include -DCURL_LIBRARY=/usr/local/curl/lib/libcurl.so ..
make
make install
其中
-DCMAKE_INSTALL_PREFIX 指定安装路径
-DSQLITE3_INCLUDE_DIR SQLite3的安装路径
-DSQLITE3_LIBRARY SQLite3库连接路径
-DGTEST_LIBRARY Gtest的库连接路径
-DGTEST_MAIN_LIBRARY Gtest的库连接路径
-DGTEST_INCLUDE_DIR Gtest的头文件连接路径
-DCMAKE_CXX_STANDARD 指定14的g++编译,因为Gtest最低需要14
3.3 安装gdal3.8.5
基本步骤同proj9.4一样,首先看下官方建议:Building GDAL from source — GDAL documentation
Building with cmake (GDAL >= 3.5.0)
CMake is the only build system supported since GDAL 3.6.0.
从3.6以后,只支持cmake编译了。
tar -zxvf gdal-3.8.5.tar.gz
cd gdal-3.8.5
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/gdal-3.8.5 \
-DSQLITE3_INCLUDE_DIR=/usr/local/sqlite3/include \
-DSQLITE3_LIBRARY=/usr/local/sqlite3/lib/libsqlite3.so \
-DPROJ_INCLUDE_DIR=/usr/local/proj-9.4/include \
-DSPROJ_LIBRARY=/usr/local/proj-9.4/lib/libproj.so \
-DCMAKE_BUILD_TYPE=Release .. \
make
sudo make install
如果不出现问题的话,这里就安装成功了。
最后再测试下,输入 gdalinfo --version, 如果没有出现版本的话,配置下环境变量参考3.4
3.4 环境变量设置
最后要设置下环境变量,为了预防万一,把刚才安装的sqlite3, libtiff4.0.10, curl, proj9.4, gdal3.8.5 的lib和bin都设置上。
终端输入命令:vim ~/.bashrc
#sqlite3.45
export PATH=$PATH:/usr/local/sqlite3/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/sqlite3/lib
#libtiff4.0.10
export PATH=$PATH:/usr/local/libtiff-4.0.10/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/libtiff-4.0.10/lib
#curl
export PATH=$PATH:/usr/local/curl/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/curl/lib
#proj9.4
export PATH=$PATH:/usr/local/proj-9.4/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/proj-9.4/lib
#gdal3.8.5
export PATH=$PATH:/usr/local/gdal-3.8.5/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gdal-3.8.5/lib
刷新 source ~/.bashrc
到这里,就完全配置成功,可以使用啦~
四. 参考链接
1. https://www.cnblogs.com/qq21497936/p/17565273.html
2. https://www.cnblogs.com/lqqgis/p/17335009.html
3.Proj 理空间坐标转换库安装及c++引用该库(linux系统)_c++ proj-CSDN博客