基础环境
ubantu20.04
Geos 3.10.6
Proj 9.3.1
Gdal 3.8.3
安装g++
apt update
apt install g++
安装cmake
apt update
apt install cmake
GEOS 3.10.6安装
下载
- 下载命令
wget https://download.osgeo.org/geos/geos-3.10.6.tar.bz2
解压
- 将文件上传至使用目录(案例使用/resource 目录)
cd /resource
tar -xvf geos-3.10.6.tar.bz2
编译安装
- 进入解压包的位置,并编译
cd geos-3.10.6
#编译
./configure
#完成后,且末尾没有红色报错,执行
make
#末尾没有红色报错,执行
sudo make install
测试
geos-config --version
PROJ安装
下载
- 下载命令
wget https://download.osgeo.org/proj/proj-9.3.1.tar.gz
解压
- 将文件上传至使用目录(案例使用/resource 目录)
cd /resource
tar -zxvf proj-9.3.1.tar.gz
编译安装
- 进入解压包的位置,并编译
cd proj-9.3.1/
sudo apt-get install sqlite3 libsqlite3-dev libtiff-dev libcurl4-openssl-dev
mkdir build
cd build
cmake .. #运行 CMake 配置
make #运行 make 构建项目
sudo make install #安装项目
问题
问题一
问题 在执行cmake时,如果遇到报错
解决
- 这些错误提示表明在配置项目时,CMake 无法找到 sqlite3 和 TIFF 库。您需要安装这些依赖项以继续构建项目
安装 SQLite3
sudo apt-get install sqlite3 libsqlite3-dev
安装 libtiff
sudo apt-get install libtiff-dev
安装完成后执行
cd /resource/proj-9.3.1/build
cmake .. #重复上述步骤
问题二
问题:在执行cmake时,如果遇到报错
解决
- 这个错误表明在配置项目时,CMake 无法找到 CURL 库。您需要安装 CURL 库的开发包以继续构建项目。
安装 CURL 库的开发包
sudo apt-get install libcurl4-openssl-dev
安装完成后执行
cd /resource/proj-9.3.1/build
cmake .. #重复上述步骤
问题三
- 在执行cmake时,如果遇到报错
解决
- 前往github.com/google/goog…
- 手动下载并替换,下载完成后将依赖丢置,位置为
/resource/proj-9.3.1/build/googletest-download/googletest-prefix/src/release-1.11.0.zip
测试
proj
GDAL安装
下载
- 下载命令
wget https://download.osgeo.org/gdal/3.8.3/gdal-3.8.3.tar.gz
解压
- 将文件上传至使用目录(案例使用/resource 目录)
cd /resource
tar -zxvf gdal-3.8.3.tar.gz
编译安装
cd gdal-3.8.3/
mkdir build
cd build
cmake .. #运行 CMake 配置
make #运行 make 构建项目
sudo make install #安装项目
问题
问题一
问题 在执行cmake时,如果遇到报错
- 这个错误表明在配置 GDAL 时,CMake 无法找到一些必需的依赖项。
解决
安装EXPAT 和 XercesC 依赖项
sudo apt-get install libexpat-dev libxerces-c-dev
安装OpenSSL 依赖项:
sudo apt-get install libssl-dev
安装Crypto++ 依赖项
sudo apt-get install libcrypto++-dev
安装PROJ 依赖项(可选)
sudo apt-get install libproj-dev
问题二
问题:执行gdalinfo --version时报错
- 这个错误表明系统无法找到
libgdal.so.34
共享库文件
解决
设置 LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/resource/gdal-3.8.3/build/lib:$LD_LIBRARY_PATH
设置动态链接器缓存
sudo ldconfig
测试
gdalinfo --version
运行Test文件(可选)
./Test runlinux.txt
运行结果
问题
问题一:
- 所使用的操作系统是Ubuntu 20.04,该系统下GLIBC的版本最高只到2.30,app需要更高的版本
解决办法:
- 在操作系统的apt源文件中添加高版本的源
vi /etc/apt/sources.list
- 末尾添加保存
deb http://th.archive.ubuntu.com/ubuntu jammy main
- 执行
apt update; apt install -y libc6
问题二:
- /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found
解决方法
下载所需lib版本并建立软连接 (前提,获得sudo权限)
移除现有软连接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
将下载的软连接cd到下载路径下再执行
sudo mv libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
重新建立软连接
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6