ROS工程,“fatal error: xxx/xxx.h: 没有那个文件或目录“的几种情况以及解决办法,自建项目和复现别人项目的情况

1.自创srv文件出现报错

如果你是在自建的功能包里面使用srv文件出现这个报错,可以看下面的几种解决方式:
方法一
方法二
但如果上述两种方法试过了都不行,看下面我提供的方法;

2.使用别人的项目在自己环境中

首先查看报错,找到对应报错的功能包,比如下面这张图框起来的功能包出现了标题的报错;
ROS工程,“fatal error: xxx/xxx.h: 没有那个文件或目录“的几种情况以及解决办法,自建项目和复现别人项目的情况_第1张图片
检查了功能包的cmakelists文件也没问题,那么我们直接找到整个项目文件中的build文件,然后在build目录下找到报错的功能包,如下图所示;
ROS工程,“fatal error: xxx/xxx.h: 没有那个文件或目录“的几种情况以及解决办法,自建项目和复现别人项目的情况_第2张图片
上图里面最大红框里面的所有.cmake文件里面涉及到项目路径的代码,全部替换成自己的项目路径!!!CMakeFiles里面的一定要看看,最好都检查看看!! 这里很关键,因为如果你是别人的工程,你直接编译跑的话,不改路径很有可能就直接报错了,完成更改之后,应该就能编译成功了。当然我也不能完全确保能够编译成功,只是自己遇到的问题然后自己这样解决的,就能行了,如果还有其他情况或者其他更好的解决办法,欢迎留言~

你可能感兴趣的:(ROS,c++)