ROS1安装成功,正常从github下载usb_cam,运行catkin_make时,编译过程走到100%,链接时报错。
[100%] Linking CXX executable /home/liqiang4102/catkin_ws/devel/lib/usb_cam/usb_cam_node
CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function main': usb_cam_node.cpp:(.text+0x61): undefined reference to
ros::init(int&, char**, std::string const&, unsigned int)'
CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function usb_cam::UsbCamNode::UsbCamNode()': usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0x82): undefined reference to
ros::NodeHandle::NodeHandle(std::string const&, std::map<std::string, std::string, std::lessstd::string, std::allocator<std::pair<std::string const, std::string> > > const&)'
usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0x205): undefined reference to image_transport::ImageTransport::advertiseCamera(std::string const&, unsigned int, bool)' usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0xeb1): undefined reference to
camera_info_manager::CameraInfoManager::CameraInfoManager(ros::NodeHandle, std::string const&, std::string const&)'
usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0x10a8): undefined reference to camera_info_manager::CameraInfoManager::setCameraName(std::string const&)' usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0x11a3): undefined reference to
ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
usb_cam_node.cpp:(.text.ZN7usb_cam10UsbCamNodeC2Ev[ZN7usb_cam10UsbCamNodeC5Ev]+0x1388): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNodeC2Ev[_ZN7usb_cam10UsbCamNodeC5Ev]+0x14ec): undefined reference to
ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function usb_cam::UsbCamNode::spin()': usb_cam_node.cpp:(.text._ZN7usb_cam10UsbCamNode4spinEv[_ZN7usb_cam10UsbCamNode4spinEv]+0xb9): undefined reference to
ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function bool ros::NodeHandle::param<std::string>(std::string const&, std::string&, std::string const&) const': usb_cam_node.cpp:(.text._ZNK3ros10NodeHandle5paramISsEEbRKSsRT_RKS4_[_ZNK3ros10NodeHandle5paramISsEEbRKSsRT_RKS4_]+0x27): undefined reference to
ros::NodeHandle::hasParam(std::string const&) const'
usb_cam_node.cpp:(.text.ZNK3ros10NodeHandle5paramISsEEbRKSsRT_RKS4[ZNK3ros10NodeHandle5paramISsEEbRKSsRT_RKS4]+0x42): undefined reference to ros::NodeHandle::getParam(std::string const&, std::string&) const' CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function
bool ros::NodeHandle::param(std::string const&, int&, int const&) const':
usb_cam_node.cpp:(.text.ZNK3ros10NodeHandle5paramIiEEbRKSsRT_RKS4[ZNK3ros10NodeHandle5paramIiEEbRKSsRT_RKS4]+0x27): undefined reference to ros::NodeHandle::hasParam(std::string const&) const' usb_cam_node.cpp:(.text._ZNK3ros10NodeHandle5paramIiEEbRKSsRT_RKS4_[_ZNK3ros10NodeHandle5paramIiEEbRKSsRT_RKS4_]+0x42): undefined reference to
ros::NodeHandle::getParam(std::string const&, int&) const'
CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function bool ros::NodeHandle::param<bool>(std::string const&, bool&, bool const&) const': usb_cam_node.cpp:(.text._ZNK3ros10NodeHandle5paramIbEEbRKSsRT_RKS4_[_ZNK3ros10NodeHandle5paramIbEEbRKSsRT_RKS4_]+0x27): undefined reference to
ros::NodeHandle::hasParam(std::string const&) const'
usb_cam_node.cpp:(.text.ZNK3ros10NodeHandle5paramIbEEbRKSsRT_RKS4[ZNK3ros10NodeHandle5paramIbEEbRKSsRT_RKS4]+0x42): undefined reference to ros::NodeHandle::getParam(std::string const&, bool&) const' CMakeFiles/usb_cam_node.dir/nodes/usb_cam_node.cpp.o: In function
void ros::AdvertiseServiceOptions::init<std_srvs::EmptyRequest_<std::allocator >, std_srvs::EmptyResponse<std::allocator > >(std::string const&, boost::function<bool (std_srvs::EmptyRequest_<std::allocator >&, std_srvs::EmptyResponse<std::allocator >&)> const&)':
usb_cam_node.cpp:(.text._ZN3ros23AdvertiseServiceOptions4initIN8std_srvs13EmptyRequest_ISaIvEEENS2_14EmptyResponse_IS4_EEEEvRKSsRKN5boost8functionIFbRT_RT0_EEE[_ZN3ros23AdvertiseServiceOptions4initIN8std_srvs13EmptyRequest_ISaIvEEENS2_14EmptyResponse_IS4_EEEEvRKSsRKN5boost8functionIFbRT_RT0_EEE]+0x8c): undefined reference to ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)' usb_cam_node.cpp:(.text._ZN3ros23AdvertiseServiceOptions4initIN8std_srvs13EmptyRequest_ISaIvEEENS2_14EmptyResponse_IS4_EEEEvRKSsRKN5boost8functionIFbRT_RT0_EEE[_ZN3ros23AdvertiseServiceOptions4initIN8std_srvs13EmptyRequest_ISaIvEEENS2_14EmptyResponse_IS4_EEEEvRKSsRKN5boost8functionIFbRT_RT0_EEE]+0x18a): undefined reference to
ros::console::initializeLogLocation(ros::console::LogLocation*, std::string const&, ros::console::levels::Level)'
/home/liqiang4102/catkin_ws/devel/lib/libusb_cam.so: undefined reference to `ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, std::basic_stringstream<char, std::char_traits, std::allocator > const&, char const*, int, char const*)'
collect2: error: ld returned 1 exit status
usb_cam/CMakeFiles/usb_cam_node.dir/build.make:125: recipe for target '/home/liqiang4102/catkin_ws/devel/lib/usb_cam/usb_cam_node' failed
make[2]: *** [/home/liqiang4102/catkin_ws/devel/lib/usb_cam/usb_cam_node] Error 1
CMakeFiles/Makefile2:997: recipe for target 'usb_cam/CMakeFiles/usb_cam_node.dir/all' failed
make[1]: *** [usb_cam/CMakeFiles/usb_cam_node.dir/all] Error 2
Makefile:140: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j2 -l2" failed
请帮忙看看哪里有问题,谢谢!