安装ORB_SLAM2
参考链接https://github.com/Ewenwan/ORB_SLAM2_SSD_Semantic
安装Pangolin
要安装0.6版本
参考链接https://blog.csdn.net/Dbojuedzw/article/details/125004382?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166058402416781685382988%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166058402416781685382988&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-125004382-null-null.142%5Ev40%5Epc_rank_34_ecpm0,185%5Ev2%5Econtrol&utm_term=error:%20%E2%80%98slots_reference%E2%80%99%20was%20not%20declared%20in%20this%20scope&spm=1018.2226.3001.4187
参考链接https://github.com/stevenlovegrove/Pangolin
前面没问题正常安装
当执行cmake --build build -t pypangolin_pip_install命令时
安装报错:make: *** 没有规则可制作目标“pypangolin_pip_install”。
根据该文章描述需要安装pybind11
安装pybind11参考文章1和文章2
删掉之前的build文件重新安装
在执行cmake -B build -GNinja命令时
报错:CMake Error: Error: generator : Ninja
这是因为之前编译过产生了产生了缓存文件CMakeCache.txt
解决方案:删除CMakeCache.txt文件
rm -f `find -name CMakeCache.txt`
参考链接:http://www.taodudu.cc/news/show-1364421.html?action=onClick
安装opencv3.4.0
参考链接https://www.yii666.com/blog/487553.html
cd opencv-3.4.0/
mkdir build
cd build
cmake ..
sudo make -j4
sudo make install
在运行sudo make -j4指令时
报错Makefile:182:all] 错误 2
解决方法:(参考链接https://blog.csdn.net/newbee_man/article/details/118546576)
- sudo nano opencv-x.x.x/modules/python/src2/cv2.cpp opencv-x.x.x是opencv路径
- Ctrl+W 寻找关键字:PyString_AsString(obj)
- 在前面加上(char *),修改后为(char *)PyString_AsString(obj);
- 保存并退出:Ctrl+x,回车,回车
- 重新编译opencv
添加环境变量
sudo gedit /etc/ld.so.conf
添加 include /usr/local/lib 语句
输入下面命令使生效
sudo ldconfig
修改bash.bashrc文件
sudo gedit /etc/bash.bashrc
在文件末尾添加这两行语句
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
输入下面命令使生效
source /etc/bash.bashrc
检查安装是否成功
pkg-config opencv --modversion
![在这里插入图片描述](https://img-blog.csdnimg.cn/94e0ba9bd79745759d454d6ca6311da6.png)
安装ORB-SLAM2
报错:fatal error: Eigen/Core: No such file or directory
https://blog.csdn.net/qq_44164791/article/details/130971625
报错:warning: libopencv_core.so.4.2, needed by /opt/ros/noetic/lib/libcv_bridge.so, may conflict with lib
参考链接:https://blog.csdn.net/qq_41873057/article/details/129943471
解决办法:修改catkin_ws/src/ORB_SLAM2/Examples/ROS/ORB_SLAM2目录下的CMakeLists.txt,添加以下语句
/usr/local/lib/libopencv_core.so.3.4
/usr/local/lib/libopencv_imgproc.so.3.4
/usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2
-lboost_system
最后修改的结果:
set(LIBS
${OpenCV_LIBS}
${EIGEN3_LIBS}
${Pangolin_LIBRARIES}
${PROJECT_SOURCE_DIR}/…/…/…/Thirdparty/DBoW2/lib/libDBoW2.so
${PROJECT_SOURCE_DIR}/…/…/…/Thirdparty/g2o/lib/libg2o.so
${PROJECT_SOURCE_DIR}/…/…/…/lib/libORB_SLAM2.so
/usr/local/lib/libopencv_core.so.3.4
/usr/local/lib/libopencv_imgproc.so.3.4
/usr/lib/x86_64-linux-gnu/libopencv_core.so.4.2
/usr/lib/x86_64-linux-gnu/libopencv_imgproc.so.4.2
-lboost_system
)
注意很多文章都是在其他平台安装的ROS所有写的是/usr/lib/aarch64-linux-gnu/libopencv_core.so.4.2,而我是在Intel平台下安装的ROS所以要将aarch64换成x86_64,不然就找不到指定的文件,安装还是报一样的错
不清楚自己的libopencv_imgproc.so安装在哪可以参考这篇文章https://blog.csdn.net/YLYwj/article/details/131766994