- 笔者的视觉slam14讲编译环境为unbantu20.04(双系统-ros/noetic) & unbantu18.04(虚拟机-ros/melodic)
- 先将前五讲报错总结如下,后续章节报错解决方案将持续更新。
视觉SLAM学习打卡【5-1】-前五章程序报错解决方案
1.eigen库运行报错
问题描述:
fatal error: Eigen/Core: 没有那个文件或目录
解决方案:
已安装eigen库,但 eigen 库默认安装在了 /usr/include/eigen3/Eigen 路径下,需使用下面命令映射到 /usr/include 路径下
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
2.Pangolin库运行报错
问题描述:
CMake Error at CMakeModules/FindGLEW.cmake:51 (MESSAGE): Could not find GLEW 等各种和GL相关的报错
解决方案:
下载作者在GitHub中3rdparty对应的包点击跳转高翔github,由于作者的安装包采用引用别人@的方式,故通过下述命令把相应库文件夹安装到本地
git clone --recursive https://github.com/gaoxiang12/slambook2.git
cd /home/zixie/slambook2/3rdparty/Pangolin //zixie改为自己的用户名
mkdir build/
cd build
cmake ..
make
sudo make install
编译运行程序:
cd /home/zixie/slambook2/ch3/visualizeGeometry
mkdir build
cd build
cmake ..
make
./visualizeGeometry
3.plotTrajectory.cpp文件路径报错
问题描述:
cannot find trajectory file at ./trajectory.txt
解决方案:
由于在build中运行,找不到"./trajectory.txt"路径(.表示当前路径),需更改为绝对路径
string trajectory_file = "/home/zixie/slambook2/ch3/examples/trajectory.txt";
4.opencv库安装
解决方案:
ros中自带opencv,笔者在unbantu18.04下安装melodic(此处采用鱼香ros安装)
wget http://fishros.com/install -O fishros && . fishros
5.stereoVision.cpp文件路径报错
问题描述:
- undefined reference to `cv::imread(cv::String const&, int)’
- assertion failed (size.width>0 && size.height>0) in imshow
解决方案:
更改绝对路径如下:(其中zixie改为自己的用户名)
string left_file = "/home/zixie/slambook2/ch5/stereo/left.png";
string right_file = "/home/zixie/slambook2/ch5/stereo/right.png";
6.joinMap.cpp文件路径报错
问题描述:
点云共有0个点. Point cloud is empty!
解决方案:
更改绝对路径如下:(其中zixie改为自己的用户名)
ifstream fin("/home/zixie/slambook2/ch5/rgbd/pose.txt");
boost::format fmt("/home/zixie/slambook2/ch5/rgbd/%s/%d.%s");