我是在遇到问题后参考了其他几篇博客进行了解决,参考博客会在最后附上链接,写此文章也是为了记录问题,以后需要就可以不用到处去找了。
1.安装Eigen
这个比较简单,按照书上的步骤就可以
打开终端,输入代码:
sudo apt-get install libeigen3-dev
2.安装pangolin
1:安装git工具
sudo apt-get install git
2:下载源码、安装依赖
apt-get install libglew-dev
apt-get install libboost-dev libboost-thread-dev libboost-filesystem-dev
git clone http://github.com/stevenlovegrove/Pangolin
3:编译安装pongolin
cd Pangolin //path of source code
mkdir build
cd build
cmake -DCPP11_NO_BOOST=1 ..
make -j
sudo make install
3.运行显示运动轨迹plotTrajectory.cpp
打开源码
在运行plotTrajectory程序出现报错cannot find trajectory file at ./examples/trajectory.txt,这是由于程序中相对路径./examples/trajectory.txt是基于目前软件运行的路径,软件是进入examples,在里面寻找trajectory.txt,而编译完成的软件是在build目录下。
针对上述plotTrajectory
程序报错问题,我们用下面的办法进行解决,首先在VScode中打开终端,输入指令pwd
后,显示文件所在路径,将路径复制替换掉程序中的./examples
保存即可。
具体是类似于我截图的最后一行那里进行代码修改。
至此问题解决。
4.运行显示相机位姿 visualizeGeometry.cpp
对于这个在使用make编译时出现了一大堆的报错,类似与这样:
最后发现可能是C++11的编译标准版本过低,在visualizeGeometry的CMakeList.txt文件中把C++11改为C++14或者C++17后编译成功。
对于visualizeGeometry.cpp
文件的初次运行,会出现以下报错
./visualizeGeometry: error while loading shared libraries: libpango_image.so: cannot open shared object file: No such file or directory
这是因为系统不知道libpango_image.so
放在哪个目录下,我们需要执行下面的指令,进行共享库的刷新
sudo ldconfig
接下来在进行编译执行程序就可以了。