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>