Linux下S2和ecCodes库编译安装

一、ecCodes库编译

ecCodes 是由 ECMWF 开发的一个库,它提供了一个应用程序编程接口和一组工具,用于对以下三种格式的数据进行解码和编码:

1)WMO FM-92 GRIB 第 1 版和第 2 版

2)WMO FM-94 BUFR 第 3 版和第 4 版

3)WMO GTS 缩写报头(仅解码)

提供C、Fortran 90 和 Python 接口对ecCodes 功能的访问,ecCodes源码可在下面链接进行访问:

GitHub - ecmwf/eccodes: ECMWF's GRIB and BUFR encoding/decoding library

具体编译过程上面网址中也有具体介绍,这里主要说编译过程中会遇到的问题以及解决办法:

1)在使用以下指令进行编译

cmake ../eccodes-x.y.z-Source -DCMAKE_INSTALL_PREFIX=/path/to/where/you/install/eccodes

显示报错,报错类型:缺少AEC库,如下图

    这种错误的解决办法是安装编译一个对应的AEC库 ,由于这个库比较不容易找到,大家可关注微信公众号GIS攻略回复AEC获取。

下载解压AEC库与ecCodes解压文件在同一个目录下,然后进行解译,解译完成重新编译上一步指令即可。

2)报错类型:

No CAME_FORTRAN_COMPILER could be found

缺少Fortran编译器对fortran语言进行识别,如下图:

    这种错误出现原因是没有fortran编译器识别fortran语言,解决办法很简单,安装一下fortran编译器,在linux终端中输入以下命令:

sudo apt install gfortran
sudo ldconfig

二、S2库编译

    S2是一个用于处理几何形状的包。与许多几何库不同,S2 主要设计用于处理球面几何,即在球体上而不是在平面 2D 地图上绘制的形状。这使得它特别适合处理地理数据。

    S2源码编译过程可在下面链接进行访问:https://github.com/google/s2geometry

    在编译前会提示先进行依赖库的安装,除abseil库外,其他库可以直接通apt-get安装,打开终端,执行以下命令:

sudo apt-get install cmake libgflags-dev libgoogle-glog-dev libgtest-dev libssl-dev

1)abseil库要用源码编译安装 缺少abseil库时,编译S2库会报下图所示类型错误:

解决办法:linux终端输入以下命令:

git clone https://github.com/abseil/abseil-cpp.git
cd abseil-cpp
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo  make install

2)报错类型:

Could Not find OpenSSL

缺少OpenSSL库,如下图:

解决办法:linux终端输入以下命令

sudo apt install libssl-dev

3)gtest报错  does not contain a CMakeLists.txt file

    gtest是一个跨平台的(Liunx、Mac OS X、Windows、Cygwin、Windows CE and Symbian)C++单元测试框架,由google公司发布。gtest是为在不同平台上为编写C++测试而生成的。 

    首先,源码编译安装gtest,打开终端输入以下命令:

git clone GitHub - google/googletest: GoogleTest - Google Testing and Mocking Framework
cd googletest
mkdir build
cd build
cmake -DBUILD_SHARED_LIBS=ON ..
make
sudo  make install

按照以下步骤进行安装:​​​​​​

sudo apt-get install libgtest-dev
sudo apt install cmake  #安装cmake
cd /usr/src/gtest
sudo cmake cMakeLists.txt
sudo make
sudo cp *.a/usr/lib

微信公众号GIS攻略同步更新,欢迎大家关注,共同交流学习。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值