Closed Rulen9987 closed 1 year ago
I still can't solve this problem after looking for relevant problems on Google. How can I solve it? What other error information do I need to provide?
system version : ubuntu 20.04 ros version : noetic
the error message are : usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in function estimation::OdomEstimation::OdomEstimation()': odom_estimation.cpp:(.text+0x60e): undefined reference totf::Transformer::DEFAULT_CACHE_TIME' /usr/bin/ld: odom_estimation.cpp:(.text+0x639): undefined reference to tf::Transformer::Transformer(bool, ros::Duration)' /usr/bin/ld: odom_estimation.cpp:(.text+0x1392): undefined reference totf::Transformer::~Transformer()' /usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in function estimation::OdomEstimation::~OdomEstimation()': odom_estimation.cpp:(.text+0x16c6): undefined reference totf::Transformer::~Transformer()' /usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in function estimation::OdomEstimation::update(bool, bool, bool, bool, ros::Time const&, bool&)': odom_estimation.cpp:(.text+0x2221): undefined reference totf::Transformer::canTransform(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std::cxx11::basic_string<char, std::char_traits, std::allocator >*) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x23e9): undefined reference to tf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x299f): undefined reference totf::Transformer::canTransform(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std::cxx11::basic_string<char, std::char_traits, std::allocator >) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x2b67): undefined reference to tf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x2ed9): undefined reference totf::Transformer::canTransform(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >) const'
estimation::OdomEstimation::OdomEstimation()': odom_estimation.cpp:(.text+0x60e): undefined reference to
tf::Transformer::Transformer(bool, ros::Duration)' /usr/bin/ld: odom_estimation.cpp:(.text+0x1392): undefined reference to
estimation::OdomEstimation::~OdomEstimation()': odom_estimation.cpp:(.text+0x16c6): undefined reference to
estimation::OdomEstimation::update(bool, bool, bool, bool, ros::Time const&, bool&)': odom_estimation.cpp:(.text+0x2221): undefined reference to
tf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x299f): undefined reference to
tf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x2ed9): undefined reference to
make[2]: [robot_pose_ekf_clone/CMakeFiles/robot_pose_ekf.dir/build.make:133: /home/rulen9987/ROS_ws/p_ws/devel/lib/robot_pose_ekf/robot_pose_ekf] Error 1 make[1]: [CMakeFiles/Makefile2:2715: robot_pose_ekf_clone/CMakeFiles/robot_pose_ekf.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 Invoking "make -j4 -l4" failed
Finally, I found the reason. It was my fault. There was a useless package named TF in workspace 。XD
I still can't solve this problem after looking for relevant problems on Google. How can I solve it? What other error information do I need to provide?
system version : ubuntu 20.04 ros version : noetic
the error message are : usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in function, std::allocator > const&, std:: cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std::cxx11::basic_string<char, std::char_traits, std::allocator >*) const'
/usr/bin/ld: odom_estimation.cpp:(.text+0x23e9): undefined reference to cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std:: cxx11::basic_string<char, std::char_traits, std::allocator >) const'
/usr/bin/ld: odom_estimation.cpp:(.text+0x2b67): undefined reference to , std::allocator > const&, std:: cxx11::basic_string<char, std::char_traits, std::allocator > const&, ros::Time const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > ) const'
estimation::OdomEstimation::OdomEstimation()': odom_estimation.cpp:(.text+0x60e): undefined reference to
tf::Transformer::DEFAULT_CACHE_TIME' /usr/bin/ld: odom_estimation.cpp:(.text+0x639): undefined reference totf::Transformer::Transformer(bool, ros::Duration)' /usr/bin/ld: odom_estimation.cpp:(.text+0x1392): undefined reference to
tf::Transformer::~Transformer()' /usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in functionestimation::OdomEstimation::~OdomEstimation()': odom_estimation.cpp:(.text+0x16c6): undefined reference to
tf::Transformer::~Transformer()' /usr/bin/ld: CMakeFiles/robot_pose_ekf.dir/src/odom_estimation.cpp.o: in functionestimation::OdomEstimation::update(bool, bool, bool, bool, ros::Time const&, bool&)': odom_estimation.cpp:(.text+0x2221): undefined reference to
tf::Transformer::canTransform(std::cxx11::basic_string<char, std::char_traitstf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x299f): undefined reference to
tf::Transformer::canTransform(std::tf::Transformer::lookupTransform(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ros::Time const&, tf::StampedTransform&) const' /usr/bin/ld: odom_estimation.cpp:(.text+0x2ed9): undefined reference to
tf::Transformer::canTransform(std::cxx11::basic_string<char, std::char_traitsmake[2]: [robot_pose_ekf_clone/CMakeFiles/robot_pose_ekf.dir/build.make:133: /home/rulen9987/ROS_ws/p_ws/devel/lib/robot_pose_ekf/robot_pose_ekf] Error 1 make[1]: [CMakeFiles/Makefile2:2715: robot_pose_ekf_clone/CMakeFiles/robot_pose_ekf.dir/all] Error 2 make: *** [Makefile:141: all] Error 2 Invoking "make -j4 -l4" failed