5、如何彻底卸载eigen3:
首先删除安装的各个文件,
sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums
然后通过命令 sudo apt --purge remove libeigen3-dev 彻底删除
4、在编译深蓝学院的VINS_MONO代码是报错:
CMake Error at /usr/share/cmake-3.10/Modules/FindBoost.cmake:1947 (message):
Unable to find the requested Boost libraries.
Boost version: 1.65.1
Boost include path: /usr/include
Could not find the following Boost libraries:
boost_program_options
如下截图:
解决办法:
重新安装一遍boost,就可以了
安装方法:
1、下载安装包,官网地址:www.boost.org
2、解压安装包,并进入该目录
3、执行:
./bootstrap.sh
sudo ./b2
sudo ./b2 install
(一定要sudo才行)
CH8:
3、在运行./optical_flow 报错:
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.5.1) /home/liuye/Downloads/opencv4.5.1/modules/imgproc/src/resize.cpp:4051: error: (-215:Assertion failed) !ssize.empty() in function 'resize'
Aborted
解决方法:
1、图片路径中不能包含中文
2、确认程序源码源码中图片的路径与你当前运行可执行程序所对应的路径是一致,即以你运行程序所在的位置去找你的图片,所以最好在你程序源代码所在的路径位置去运行可执行程序
2、在运行./optical_flow 报错:
/home/liuye/Desktop/SLAM/SLAM14_Code/ch8/optical_flow_CV.cpp:39:33: error: ‘CV_GRAY2BGR’ was not declared in this scope
cv::cvtColor(img2, img2_CV, CV_GRAY2BGR);
解决办法:
在新的OpenCV 版本中,
需要把 cv::cvtColor(img2, img2_CV, CV_GRAY2BGR); 这句话中的 CV_GRAY2BGR改成COLOR_GRAY2BGR)
在编译direct method时,依旧报上面的错误,但是改成CV以后也不管用,
解决办法:
在头文件中加入:#include <opencv2/imgproc/types_c.h>
1、在编译时报错:
/usr/local/include/sophus/common.hpp:42:10: fatal error: fmt/core.h: No such file or directory
#include <fmt/core.h>
^~~~~~~~~~~~
compilation terminated.
解决办法:
在add_executable(optical_flow optical_flow.cpp)后:添加一个链接库:
target_link_libraries(optical_flow ${Sophus_LIBS})
或者
target_link_libraries(optical_flow Sophus::Sophus)
(第一种写法在direct method编译时,依旧会报错,第二种写法就通过了)
如下: