ROS学习(四)

学习过程中主要是通过书《ROS机器人开发实践》

在第四章tf工具箱学习中

始终有报错

CMakeFiles/turtle_tf_broadcaster.dir/src/turtle_tf_broadcaster.cpp.o:在函数‘poseCallback(boost::
shared_ptr<turtlesim::Pose_<std::allocator<void> > const> const&)’中:
/home/wei/catkin_wc/src/learning_tf/src/turtle_tf_broadcaster.cpp:10:对‘tf::TransformBroadcaster
::TransformBroadcaster()’未定义的引用
/home/wei/catkin_wc/src/learning_tf/src/turtle_tf_broadcaster.cpp:20:对‘tf::TransformBroadcaster
::sendTransform(tf::StampedTransform const&)’未定义的引用
collect2: error: ld returned 1 exit status
learning_tf/CMakeFiles/turtle_tf_broadcaster.dir/build.make:114: recipe for target '/home/wei/cat
kin_wc/devel/lib/learning_tf/turtle_tf_broadcaster' failed
make[2]: *** [/home/wei/catkin_wc/devel/lib/learning_tf/turtle_tf_broadcaster] Error 1
CMakeFiles/Makefile2:906: recipe for target 'learning_tf/CMakeFiles/turtle_tf_broadcaster.dir/all
' failed
make[1]: *** [learning_tf/CMakeFiles/turtle_tf_broadcaster.dir/all] Error 2
Makefile:145: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2 -l2" failed

调了很久,原因是对于Cmake.list编译不到位

根据文章乌龟跟随实例-TF坐标变换_qq_34911636的博客-CSDN博客中的方法

调整Cmake

主要是对于find_package进行调整,按照上面方法改变,解决一直报错的问题

find_package(catkin REQUIRED COMPONENTS
  roscpp
  rospy
  std_msgs
  message_generation
  tf
)

看见未解析的引用,其实就是Cmake文件没有find package。

其实前面本书在讲消息这部分,已经讲过如何编译Cmake.list,所以此处省略了,但是读者就完全忘记了这回事了

那是还需要设定add_message_files,如果不新定义消息类型,这不要改,改了反而要报错。

回顾,如果哪有问题,建议回前面看一看是否落了某一个必要的步骤!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值