首页 资讯 应用 高压 设计 行业 低压 电路图 关于

机器人

旗下栏目: 物联网 机器人 新技术 仪器仪表

ROS如何编译时自动链接同一个工作空间的其他包

机器人 | 发布时间:2017-10-22 | 人气: | #评论# |本文关键字:ROS,头文件
摘要:catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件。否则会出现类似如下的错误: 1 2 3 /home/xx/xx_ws/srcA_package/src/db .hpp:13:26: fatal error: B_package /alax .h: No such file or dir

catkin_make编译时,往往需要自动链接同一个工作空间的其他包的头文件。否则会出现类似如下的错误:

1
2
3
/home/xx/xx_ws/srcA_package/src/db.hpp:13:26: fatal error: B_package/alax.h: No such file or directory
 #include <B_package/alax.h>
                          ^

这需要对包进行配置,假设包A_package需要引用B_package的头文件(例如由message,srv,action自动生成的头文件)。步骤如下:

 

1.在A_package包的package.xml中添加编译和运行的依赖库,如下:

<build_depend>B_package</build_depend>
<run_depend>B_package</run_depend>

2.在A_package包的CMakeList.txt中的find_package添加B_package如下:

find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs  B_package )

3.在A_package包的CMakeList.txt中的include_directories添加${catkin_INCLUDE_DIRS}如下:

include_directories(include ${catkin_INCLUDE_DIRS})

Make Change - Focus on Computer Vision and Pattern Recognition


责任编辑:电气自动化网

热门文章

首页 | 资讯 | 应用 | 高压 | 设计 | 行业 | 低压 | 电路图 | 关于

Copyright 2017-2018 电气自动化网 版权所有 辽ICP备17010593号-1

电脑版 | 移动版

Ctrl+D 将本页面保存为书签,全面了解最新资讯,方便快捷。