Linker 在ROS中链接TF库问题

Linker 在ROS中链接TF库问题,linker,listener,ros,Linker,Listener,Ros,我在使用tf库时遇到链接器问题。下面是我的回调。如果回调中没有唯一一行,则不会出现链接器错误。请在下面查找链接器错误本身 void callback (const sensor_msgs::PointCloud2ConstPtr& input) { listener->waitForTransform("/world_base_link", (*input).header.frame_id, (*input).header.stamp, ros::Duration

我在使用
tf
库时遇到链接器问题。下面是我的
回调
。如果
回调中没有唯一一行,则不会出现链接器错误。请在下面查找链接器错误本身

void callback (const sensor_msgs::PointCloud2ConstPtr& input)
{

       listener->waitForTransform("/world_base_link", (*input).header.frame_id,  (*input).header.stamp, ros::Duration(5.0));

}

int main (int argc, char** argv)
{

      ros::init(argc, argv, "subscriber");
      ros::NodeHandle n;
      ros::Subscriber sub = n.subscribe("/kinect2/depth/points", 1, callback);
      ros::spin ();

}
链接器错误:

Linking CXX executable range_image_border_extraction
CMakeFiles/range_image_border_extraction.dir/range_image_border_extraction.cpp.o: In function `callback(boost::shared_ptr<sensor_msgs::PointCloud2_<std::allocator<void> > const> const&)':
range_image_border_extraction.cpp:(.text+0x18c): undefined reference to `tf::Transformer::waitForTransform(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, ros::Duration const&, ros::Duration const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const'
collect2: ld returned 1 exit status
make[2]: *** [range_image_border_extraction] Error 1
make[1]: *** [CMakeFiles/range_image_border_extraction.dir/all] Error 2
make: *** [all] Error 2
package.xml

 <?xml version="1.0"?>
<package>

  <name>ipa325_com_client</name>
  <version>1.0.0</version>
  <description>Simulation client side communication interface</description>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>control_msgs</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_depend>ipa325_msgs</build_depend>
  <build_depend>ipa325_com_msgs</build_depend>
  <build_depend>message_generation</build_depend>

  <run_depend>tf</run_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>  
  <run_depend>std_msgs</run_depend>
  <run_depend>control_msgs</run_depend>
  <run_depend>geometry_msgs</run_depend>
  <run_depend>ipa325_com_msgs</run_depend>
  <run_depend>ipa325_msgs</run_depend>
  <run_depend>message_runtime</run_depend>


  <export></export>

</package>

ipa325_com_客户端
1.0.0
模拟客户端通信接口
BSD
柳絮
roscpp
罗西
标准msgs
控制系统
几何学
IPA325MSGS
ipa325_com_msgs
消息生成
tf
roscpp
罗西
标准msgs
控制系统
几何学
ipa325_com_msgs
IPA325MSGS
消息运行时

有没有办法解决这个链接器错误?

你能尝试将
tf
添加到find\u包中:
find\u包(catkin必需组件roscpp rospy std\u msgs genmsg tf)
是的,解决了问题。非常感谢!:)
 <?xml version="1.0"?>
<package>

  <name>ipa325_com_client</name>
  <version>1.0.0</version>
  <description>Simulation client side communication interface</description>
  <license>BSD</license>

  <buildtool_depend>catkin</buildtool_depend>
  <build_depend>roscpp</build_depend>
  <build_depend>rospy</build_depend>
  <build_depend>std_msgs</build_depend>
  <build_depend>control_msgs</build_depend>
  <build_depend>geometry_msgs</build_depend>
  <build_depend>ipa325_msgs</build_depend>
  <build_depend>ipa325_com_msgs</build_depend>
  <build_depend>message_generation</build_depend>

  <run_depend>tf</run_depend>
  <run_depend>roscpp</run_depend>
  <run_depend>rospy</run_depend>  
  <run_depend>std_msgs</run_depend>
  <run_depend>control_msgs</run_depend>
  <run_depend>geometry_msgs</run_depend>
  <run_depend>ipa325_com_msgs</run_depend>
  <run_depend>ipa325_msgs</run_depend>
  <run_depend>message_runtime</run_depend>


  <export></export>

</package>