ROS学习基础例子出现的问题(中)

什么意思,在哪里添加?

官网和中文例子不同,大概是中文翻译过时。英文里说某个版本以后,CMakeList文件里有,去掉注释就行。

执行 rosmsg show Num,提示 rosmsg show Num  ,

练习里没有这两步:

8 cd ~/catkin_ws/  &&  catkin_make -DCATKIN_WHITELIST_PACKAGES="new_msg"

9 source devel/setup.bash
来源于:http://blog.csdn.net/u011906844/article/details/72156215

仿照修改后可以了。


但是:创建srv时,没有这两步也没问题。也许是source devel/setup.bash需要提前执行一下?


后面两步刚才提前做了,所以现在只是重新编译了一下

generate_messages(
  DEPENDENCIES
  std_msgs
)

$ catkin_make



第二日又找不到msg和服务,果然需要先执行一下source devel/setup.bash 记得哪一节有个提示,这个命令很重要。

如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:

$ export | grep ROS

如果发现没有配置,那这个时候你就需要'source'某些'setup.*sh’文件了。 


编写消息发布和订阅:


catkin_make 出现一大堆”未被定义引用“

CMakeFiles/listener.dir/src/listener.cpp.o:在函数‘chatterCallback(boost::shared_ptr<std_msgs::String_<std::allocator<void> > const> const&)’中:
listener.cpp:(.text+0x1f):对‘ros::console::g_initialized’未定义的引用。。。。。后面还有很多

      检查发现:

add_dependencies(listener beginner_tutorials_generate_messages_cpp),少抄了这一段代码。
include_directories( include ${catkin_INCLUDE_DIRS})  发现这句中间的“include”前有个#没删掉。

find_package()里缺一个"genmsg"多一个“message_generation",加上genmsg,没去掉后面那个

target_link_libraries(listener ${catkin_LIBRARIES}这句里libraries里漏抄了一个”R"


         最后一个错误修改后,编译成功。

测试 消息:


在另一个终端启动listener    错误提示  Error: package 'beginner_tutorials' not found
     于是在这个终端也执行

   source ./devel/setup.bash  

   成功



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值