当前位置:   article > 正文

SLAM 14讲 ch3 使用vscode编译 基于ubuntu20.04_libpangolin.so

libpangolin.so

简述

之前一直在琢磨如何使用vscode来进行make和cmake的编译问题,使用ubuntu自带的terminal可以很轻松的编译高翔的ch3并运行,但是到了vscode里就不行。折腾了半天才搞清楚。

关于eigen3和pangolin头文件变红的问题

我发现高翔在14讲文中用的头文件是:
#include <Eigen/Core>
而这个代码在我这边是报错的,但是可以可用如下代码:
#include <eigen3/Eigen/Core>
当我正在窃喜,立马点击运行文件,发现pangolin库报错。
好的,我点开了如下几个报错的库文件,发现pangolin的包里所有带有eigen模块的声明都是#include <Eigen/Core>
我也不可能一个个去改成#include <eigen3/Eigen/Core>
于是我又想了别的方法。就是将eigen3的目录下的Eigen链接到/usr/include中

PS.其实我发现/usr/include目录下本来就有一个Eigen文件夹,里面的内容也是对的,不知道是不是Ubuntu20的bug?所以读取不出来??

关于eigen3和pangolin头文件变红修复

Eigen其代码如下:
在终端中输入
sudo ln -s /usr/include/eigen3/Eigen /usr/include/Eigen
然后我发现pangolin的#include <pangolin/pangolin.h>也报了红色的波浪线。
于是乎同上操作
sudo ln -s /usr/local/include/pangolin/ /usr/include/pangolin
现在准备工作基本做完了。

VScode需要用到的插件

VScode对我这个萌新来说还算友好吧,需要用到的插件有以下几个:

  1. C/C++
  2. CMake
  3. CMake tools
  4. Code runner
  5. Tabnine Aurocomplete AI 自动补全代码
  6. One Dark Pro 黑暗主题
  7. Chinese(Simplified)Language 中文

其中从5开始就是我个人的插件了 。

VScode编译和调试部分

在VScode中打开slambook2中的example文件夹,如图所示:

工程目录下
如果没有build文件夹,可以自己新建一个或者在终端的example目录下mkdir build
需要注意的是其中

string trajectory_file = "./trajectory.txt";
  • 1

这个trajectory.txt的路径我设置的是相对路径。不一样的可以自己设置。
接着按图所示进行操作
操作步骤编译好了以后,要修改program的目录,在launch.json中修改"program": **"/home/liqunzhao/examples/build/plotTrajectory"***这里要设置为自己的编译完成后的文件所在的目录!!!!!
接着进入如图所示的操作步骤:
调试点击1,然后根据提示配置好调试的GCC以后(我这里用的是g++10-),进行调试,出现选框提示错误,选择仍要调试
最后的结果在这里插入图片描述

思考

按我常规编译普通c++文件的思路,点击右上角编译 运行 会报一堆错误报错目录
其中编译的时候是完好的,并没有错误代码。但是直接运行就会爆一堆库文件的链接错误。
我也尝试直接在CMake里面静态链接libpangolin.so 但无卵用。
查了一下午也没有什么结果。如果知道的可以告诉我一下。

在终端里运行代码则cmake、make 都没问题,运行也没问题。
附上用终端运行的结果:
example目录下有四个文件,分别是CMakelist.txt、trajectory.txt、coordinateTransform.cpp和plotTrajectory.cpp

mkdir build
cd build
cmake ..
make -j16
cp ../trajectory.txt trajectory.txt
./plotTrajectory
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/103045
推荐阅读
相关标签
  

闽ICP备14008679号