编译运行R3LIVE时遇到的问题
- 系统版本:20.04LTS
- ROS版本:noetci
- Eigen版本:3.4.0
- OpenCV版本:4.2.0
问题记录
- R3LIVE编译一切顺利,但在运行时遇到了以下问题:
- R3LIVE终端显示的编译环境各版本为:
- GCC :7.5.0
- BOOST :1.71.0
- Eigen :3.4.0
- OpenCV:4.2.0
解决方法
- 在参考了上述问题中的解决方法后,尝试对OpenCV进行降级处理,但是操作繁琐,且最后仍然有问题
- 找了一台纯洁电脑安装ubuntu进行编译测试,结果运行顺利。经对比后发现,在新环境在编译R3LIVE时是使用
GCC 9.4.0
进行编译,而本机采用的是GCC 7.5.0
,因此考虑是否因为GCC编译问题导致的配准漂移。以下为解决方法:- 将
/usr/bin
中的g++和gcc分别使用sudo ln -s /usr/bin/g++ /usr/bin/g++-9
和sudo ln -s /usr/bin/gcc /usr/bin/gcc9
将默认的g++和gcc编译器链接为9.4.0 - 在R3LIVE的
CMakeLists.txt
中加入set(CMAKE_C_COMPILER "/usr/bin/gcc" )
和set(CMAKE_CXX_COMPILER "/usr/bin/g++" )
- 编译后R3LIVE正常运行,显示GCC版本为9.4.0
- 将