以mono_tum.cc 为例子
首先修改 CMakeLists 为 Debug 模式
IF(NOT CMAKE_BUILD_TYPE)
# SET(CMAKE_BUILD_TYPE Release)
SET(CMAKE_BUILD_TYPE Debug)
ENDIF()
ctrl + shift + P 重新 cmake 一下
注释掉mono_tum.cc里这几句
// if(argc != 4)
// {
// cerr << endl << "Usage: ./mono_tum path_to_vocabulary path_to_settings path_to_sequence" << endl;
// return 1;
// }
原本终端运行的方法是
./Examples/Monocular/mono_tum Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml ./Data/rgbd_dataset_freiburg1_xyz
解释一下
./Examples/Monocular/mono_tum 可执行文件路径
Vocabulary/ORBvoc.txt 词袋路径 也就是 argv[1]
Examples/Monocular/TUM1.yaml 配置文件 也就是 argv[2]
./Data/rgbd_dataset_freiburg1_xyz 数据集路径 也就是 argv[3]
然后在mono_tum.cc 的 main 函数前面 定义3个string,也就是后面三个路径
例如
string voc_path = "/home/u1/ORB_SLAM2_debug/Vocabulary/ORBvoc.txt"; //argv[1]
string setting_path = "/home/u1/ORB_SLAM2_debug/Examples/Monocular/TUM1.yaml"; //argv[2]
string seq_path = "/home/u1/ORB_SLAM2_debug/Data/rgbd_dataset_freiburg1_xyz"; //argv[3]
我使用的绝对路径,根据自己这些文件的位置修改
最后将mono_tum.cc 里面的 argv[1] argv[2] string(argv[3]) 换成你定义的string 变量名
例如 上面 用 voc_path 换 argv[1]
然后就可以愉快的 build 和+ run 了 记得选 mono_tum
要是 【all】 就 .............
点 stop 吧 哈哈