ROS error:can't locate node [ladarPublisher] in package [topic_demo]

没有进行更新的安装新的东西,后面发现是修改了CMakeLists文件导致的错误,编译可以成功,但是执行的时候就是无法点位节点,节点名称和cmakelists文件中是对应的,所以节点名字没有问题的,错误截图如下:

ROS error:can't locate node [ladarPublisher] in package [topic_demo]_第1张图片

从网上查了很多资料,bashrc文件增加source路径,重写source,删除ros工作空间src之外的内容,重新编译,都未能解决为的问题,下面介绍一下我的问题定位过程和解决方法,供参考、

1、进入工作空间 roscd packageName :成功的话继续,否则解决roscd找不到package的问题,这类问题网上很多解决方法,直接百度即可

2、直接使用rosrun 运行节点显示如下错误


但是进入到工作空间 build/topic_demo/文件夹下(生成的相关节点对应的可执行文件所在文件夹)直接使

用./执行可执行文件,是没有任何报错信息的

ROS error:can't locate node [ladarPublisher] in package [topic_demo]_第2张图片

所以,最根本的问题是无法定位到可执行节点的位置;

解决方法就是CMakeLists文件中增加catkin_package() ,可以帮助定位可执行节点位置(自动生成CMakeLists文件中是包含这个语句的,我手欠,自认为空的没用删掉了,但是他有自己的作用)

 

 

 

你可能感兴趣的:(ROS)