解决办法"/>
Ubuntu20.04配置LINS的坑及解决办法
Ubuntu20.04配置LINS的坑及解决办法
- 参考
- 1.fatal error: opencv/cv.h: 没有那个文件或目录
- 2.error: ‘string’ in namespace ‘std::__cxx11’ does not name a type![在这里插入图片描述](.png)
- 3./usr/bin/ld: 找不到 -lBoost::serialization等
- 4.Error transforming odometry 'Odometry' from frame '/camera_init' to frame 'map'且没有图出来
参考
配置流程参考:
用自己的数据集跑LINS—LiDAR-inertial-SLAM
本文记录自己在Ubuntu20.04配置LINS过程中遇到的几个坑和解决办法,都是在catkin_make的时候遇到的。
1.fatal error: opencv/cv.h: 没有那个文件或目录
解决方法:
找到src/LINS—LiDAR-inertial-SLAM/lins/include/utility.h,删除 #include <opencv/cv.h>,添加#include <opencv2/imgproc.hpp>
2.error: ‘string’ in namespace ‘std::__cxx11’ does not name a type
解决方法:
找到src/LINS—LiDAR-inertial-SLAM/lins/src/lib/parameters.cpp,把134和141行的函数参数中的std::__cxx11::string改成std::string
3./usr/bin/ld: 找不到 -lBoost::serialization等
没截到当时出这个错误的图,反正就是找不到lBoost下面的四个库
解决方案:
其实不是没有这四个库,而是名字不知道为啥出了差错,新建四个和要找的名字一样的软连接就可以(比较傻的方法,要是有更好的方法可以评论):
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_serialization.so /usr/lib/x86_64-linux-gnu/libBoost::serialization.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_thread.so /usr/lib/x86_64-linux-gnu/libBoost::thread.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_timer.so /usr/lib/x86_64-linux-gnu/libBoost::timer.so
sudo ln -s /usr/lib/x86_64-linux-gnu/libboost_chrono.so /usr/lib/x86_64-linux-gnu/libBoost::chrono.so
解决完这个就可以成功编译了:
4.Error transforming odometry ‘Odometry’ from frame ‘/camera_init’ to frame 'map’且没有图出来
这是跑图中出现的问题,在代码里搜索所有的/camera_init改成camera_init就没问题了(但是还是会报这个红字)
更多推荐
Ubuntu20.04配置LINS的坑及解决办法
发布评论