起因

昨天也是被这个玩意儿折磨了一下午,主要是配置CMakeLists和package的问题

被调用包

被调用包首先自己编译要没有问题(这是肯定的),其次需要改一下CMakeLists文件

在catkin_package这一个命令中需要注释掉

LIBRARIES ${PROJECT_NAME}

这一条命令会让你在编译消息包是创建一个空的库,导致在需要调用的那个包中找不到这个消息包

调用包

调用包需要更改CMakeLists和package

CMakeLists

find_package中需要添加消息包,直接添加消息包的名字就行

find_package(catkin REQUIRED COMPONENTS
cv_bridge
image_transport
roscpp
rospy
std_msgs
geometry_msgs
line_vision ##这个是消息包
)

麻了,现在写笔记的时候才发现只需要加一个find_package,当时卡住的时候加了一堆乱七八糟的东西···

package

加入两条依赖命令

<depend>line_vision</depend>
<exec_depend>message_runtime</exec_depend>

第二条命令是自定消息时必须加的(虽然我也没试过不加这个)

line_vision就是消息包的名字

万能的depend()