在CMake中configure Pangolin时,出现错误could not find git for clone of __glew,是因为没有下载git,安装完git就好了。
在最终生成ORB_SLAM2.lib时,由于OpenCV4.1.1版本相对于ORBSLAM2代码版本过高,需要对代码进行修改。
1. cvMat类型问题:添加#include <opencv2/core/core_c.h>解决
2. #include <opencv/cv.h>问题:使用<opencv2/opencv.hpp>代替
3. CV_BGR2GRAY问题:添加#include <opencv2/imgproc/types_c.h>
4. CV_REDUCE_SUM问题:改成cv::REDUCE_SUM
5. CV_LOAD_IMAGE_UNCHANGED问题:改成cv::IMREAD_UNCHANGED
6. 出现"CMake Error at CMakeLists.txt... ... but it set OpenCV_FOUND to FALSE so package "OpenCV" is considered to be NOT FOUND"时需要在ORBSLAM2的CMakeLists.txt中添加set(OpenCV_DIR "D:/software/OpenCV4.1.1/build/x64/vc15/lib"),这句放在find_package(OpenCV REQUIRED)这句之前
下面是需要注意的问题:
1. 在编译g2o时需要添加预编译命令WINDOWS,看准是在DEBUG还是在Release下添加的
2. CMake编译完ORBSLAM2的CMakeLists.txt是不要Delete CACHE,否则会出现外部环境改变的提示,不管忽略还是替换后期都会出现错误,直接关掉CMake_GUI即可
然后就是运行stereo_kitti中加入pcl出现的问题
1. pcl中min与max冲突问题,需要在std前和min后面添加括号
2. LINK2019无法解析的外部符号问题,需要打开stereo_kitti属性->链接器->输入->附加依赖项,然后点击“从父级或项目默认设置继承”前面的对号即可