具体原因仍未找到,尝试了网上很多关于Cmakelist.txt修改的办法,但是自己工程的Cmakelist.txt编写的并没有问题。
最后的解决办法是使用catkin_make -DCATKIN_WHITELIST_PACKAGES=" 你的包名"
命令对出现问题的单个包进行编译,然后.h文件就可以找到了
记得编译完单个文件包之后catkin_make命令默认代替的命令是catkin_make -DCATKIN_WHITELIST_PACKAGES=" 你的包名"
所以在此处要先运行catkin_make -DCATKIN_WHITELIST_PACKAGES=" "
之后就可以编译整个工程了,然而又会出现新的.h无法找到的问题,那就再来一遍 或者直接去devel/include文件夹下看那些包的,h文件还未生成,直接使用catkin_make -DCATKIN_WHITELIST_PACKAGES="package1;package2"
同时进行多个包的编译。
最后再重新编译整个工程就可以了。。。。
其实在单独编译包的时候也会遇到依赖问题,感觉和单独编译包的顺序也有关系,那时也只能兵来将挡水来土掩,这里面还有许多知识需要深入理解,不能一直靠碰运气解决问题【完】