【GICI-LIB】关于Build的相关问题归纳

高精度导航对自主机器人和自动驾驶等应用至关重要。鉴于GNSS/INS/Camera(GIC)融合导航在复杂环境下的高精度和高可靠的表现,现已成为当下研究的热点。近期,上海交通大学开源了GICI-LIB,该代码以可扩展的设计理念,实现了支持SPP、RTK、PPP等多种GNSS定位算法的GIC传感器之间多种形式的松/紧组合。并附加各场景的测试数据。本次仅按照说明文档对GICI-LIB进行Build,在此过程中遇到诸多问题,现对问题进行归纳。本机采用Win11+VMware 17 Pro+Ubuntu 20.04组合的方式搭建调试环境。

一、简介

GICI-LIB的依赖项见下图,并附上必备依赖项的链接:EigenOpenCVYaml-cppGflagsGlogCeres-Slover

注:建议严格按照给定版本进行下载,避免出现各种问题;同时安装顺序按照上图序号进行,其中先配置Gflags,再配置Glog

二、配置依赖项

1. Eigen-3.3.7

链接:https://gitlab.com/libeigen/eigen/-/releases/3.3.7

(1)解压对应源码文件,如eigen-3.3.7.zip,解压命令:unzip eigen-3.3.7.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake ..

(4)make -j4

(5)sudo make install        //建议sudo+指令,否则可能无权限

2. OpenCV-4.2.0

 链接:https://github.com/opencv/opencv/tree/4.2.0

(1)解压对应源码文件,如opencv-4.2.0.zip,解压命令:unzip opencv-4.2.0.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake ..

(4)make -j4

(5)sudo make install

3. Yaml-cpp-0.6.0

链接:https://github.com/jbeder/yaml-cpp/tree/yaml-cpp-0.6.0

(1)解压对应源码文件,如yaml-cpp-yaml-cpp-0.6.0.zip,解压命令:unzip yaml-cpp-yaml-cpp-0.6.0.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake .. -DBUILD_SHARED_LIBS=ON       //-DBUILD_SHARED_LIBS=ON代表 动态库

(4)make -j4

(5)sudo make install

(6)sudo ldconfig         //当用户安装了一个新的动态链接库时,就需要手工运行这个命令

4. Gflags-2.2.2

 链接:https://github.com/gflags/gflags/tree/v2.2.2

(1)解压对应源码文件,如gflags-2.2.2.zip,解压命令:unzip gflags-2.2.2.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake .. -DGFLAGS_NAMESPACE=google -DCMAKE_CXX_FLAGS=-fPIC -DBUILD_SHARED_LIBS=ON       

(4)make -j4

(5)sudo make install

(6)sudo ldconfig

5. Glog-0.6.0

链接:https://github.com/google/glog/tree/v0.6.0

(1)解压对应源码文件,如glog-0.6.0.zip,解压命令:unzip glog-0.6.0.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake .. -DBUILD_SHARED_LIBS=ON

(4)make -j4

(5)sudo make install

(6)sudo ldconfig

6. Ceres Slover-2.1.0

链接:https://github.com/ceres-solver/ceres-solver/tree/2.1.0

(1)解压对应源码文件,如ceres-solver-master.zip,解压命令:unzip ceres-solver-master.zip

(2)用终端打开文件夹,创建并进入build文件夹,输入命令:mkdir build && cd build

(3)cmake ..

(4)make -j4

(5)sudo make install

三、Build GICI

1. 下载GICI_LIB源码,链接:https://github.com/chichengcn/gici-open

 2. 基于VS Code打开源码文件夹

 3. 在工程目录下打开终端,输入以下命令:

(1)mkdir build && cd build

(2)cmake .. -DCMAKE_BUILD_TYPE=Release

 (3)make -j4          //此过程较慢。若界面卡死,可重新在终端输入该指令

 四、Run GICI 

1. GICI测试数据集:GitHub - chichengcn/gici-open-dataset: Land vehicle GNSS/INS/Camera dataset

 2. 按照manual.pdf对解算进行配置,仅修改path和time即可。

  3. 在build终端下输入:./gici_main 配置文件.yaml,Enter运行即可。

参考链接

gici-open编译与运行_什么都不会的小澎友的博客-CSDN博客

libgflags.so.2.2以及glog.so编译报错 cannot open shared object file/symbol lookup error解决办法_libgflags.so.2.2:_Amazingren的博客-CSDN博客

Cpp(十一) yaml-cpp的使用_autoooooooo的博客-CSDN博客

cmake编译错误“recompile with -fPIC“_cmake fpic_读书健身敲代码的博客-CSDN博客

Linux环境下OpenCV的安装与配置_linux opencv_Abdullah al-Sa的博客-CSDN博客

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 18
    评论
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值