在项目小组的安利下菜鸟的我决定学习使用CLion调试代码
在调试代码的时候第一关就遇到了找不到.h的bug 明明有却找不到也是让人很头疼
于是本小实习生向组内大神求助一顿排查下来发现bug出现的原因 自己感觉还是有必要记录以便帮遇到该问题的同胞们节约时间也方便我日后再遇到此类问题查看。
我跑的是自己修改的slam代码在跑Examples/Ros/orb-slam2/CMakeLists.txt下出现了在KeyFrame.h
里找不到“Thirdparty/DBow2/DBow2/BowVector.h”的提示,后来发现是因为本身在CMakeLists下
他的路径为include_directories(Thirdparty/DBow2/DBow2) 而在对应KeyFrame.h中我又将他的位置再次重复#include“Thirdparty/DBow2/DBow2/BowVector.h”因为此时系统已经默认定位到Thirdparty/DBow2/DBow2下了
所以在该路径下只有BowVector.h而没有Thirdparty/DBow2/DBow2/BowVector.h因此因为重复定义导致找不到
所以只需要将KeyFrame.h里的#include“Thirdparty/DBow2/DBow2/BowVector.h”换成#include“BowVector.h”
该bug便解决啦