一、Could not find a package configuration file provided by"xxx"解决方案
采用下述方法可以解决大部分问题,可以多使用Tab键的补全功能确定“ros-noetiic-xxx”是否存在
sudo apt-get install ros-noetiic-xxx
注:报错中的“xxx”里的"_“改成”-“,即“xxx_xxx”=>”xxx-xxx"
二、fatal error: ###_msgs/***.h: 没有那个文件或目录
1、msg文件编译
package里的**.msg文件编译后会生成**.h文件,并放在devel/include文件夹里
2、检查是否有***.h
有:调用的路径有问题,修改路径即可;#include “绝对路径/***.h”
没有:即没有编译成***.h。
情况1:编译了但没有编译成功
情况2:根本就没有编译
3、编译了但没有成功
特别是exec_depend>message_runtime</exec_depend>
容易忽略,这三个点是相互对应的。
4、根本没有编译
(情况一)编译A包时,A包有调用B包的头文件,然而我B包还没编译,还没生成头文件。
把A包先移出该工作空间,先编译B包,编译后检查生成了***.h后,再把A包放入,再编译即可。
(情况二)编译A包,A包头文件可在catkin_workspace/devel/include文件夹里,
复制该头文件到catkin_workspace/src/package/include里,再编译