ROS使用serial库编译时出现“未定义的引用”解决办法
在使用ROS的串口通信工具时:
sudo apt-get install ros-kinetic-serial
写好代码后编译出错,显示与串口相关的一些函数没有引用,报错xxx未定义的引用
原因分析:
编译器在链接时没有找到与serial相关的库,虽然在函数开头包了#include<serial/serial.h>,但是ros在使用catkin_make时会去CMakeLists找相关的库,原因就是在CMakeLists中没有将需要的库包含进来。
解决办法:
find_package(catkin REQUIRED COMPONENTS
roscpp
rospy
std_msgs
message_generation
serial
)
将serial包含进来。