본문 바로가기
IT기술(코딩)/ros2

모든파일이 있어도 발생하는 ros2 msg, srv에러 윈도우window버전에서는 ros2 에서 winsock2.h 가 없어서 소켓관련 기능이 동작하지 않는다.

by 크리에이트매이커 2024. 2. 5.
반응형

station_bridge.obj : error LNK2019: "struct rosidl_message_type_support_t const * __cdecl rosidl_typesupport_cpp::get_message_type_support_handle<struct station_bridge23::msg::CmdRc_<class std::allocator<void> > >(void)" (??$get_message_type_support_handle@U?$CmdRc_@V?$allocator@X@std@@@msg@station_bridge23@@@rosidl_typesupport_cpp@@YAPEBUrosidl_message_type_support_t@@XZ) 외부 기호(참조 위치: "private: virtual class std::shared_ptr<class rclcpp::SubscriptionBase> __cdecl std::_Func_impl_no_alloc<class <lambda_e1dd9917a4fa3fdc1b7fd01e97b26593>,class std::shared_ptr<class rclcpp::SubscriptionBase>,class rclcpp::node_interfaces::NodeBaseInterface *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class rclcpp::QoS const &>::_Do_call(class rclcpp::node_interfaces::NodeBaseInterface * &&,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class rclcpp::QoS const &)" (?_Do_call@?$_Func_impl_no_alloc@V<lambda_e1dd9917a4fa3fdc1b7fd01e97b26593>@@V?$shared_ptr@VSubscriptionBase@rclcpp@@@std@@PEAVNodeBaseInterface@node_interfaces@rclcpp@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@AEBVQoS@6@@std@@EEAA?AV?$shared_ptr@VSubscriptionBase@rclcpp@@@2@$$QEAPEAVNodeBaseInterface@node_interfaces@rclcpp@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@2@AEBVQoS@6@@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: "struct rosidl_service_type_support_t const * __cdecl rosidl_typesupport_cpp::get_service_type_support_handle<struct station_bridge23::srv::ParaUsv>(void)" (??$get_service_type_support_handle@UParaUsv@srv@station_bridge23@@@rosidl_typesupport_cpp@@YAPEBUrosidl_service_type_support_t@@XZ) 외부 기호(참조 위치: "public: __cdecl rclcpp::Client<struct station_bridge23::srv::ParaUsv>::Client<struct station_bridge23::srv::ParaUsv>(class rclcpp::node_interfaces::NodeBaseInterface *,class std::shared_ptr<class rclcpp::node_interfaces::NodeGraphInterface>,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,struct rcl_client_options_t &)" (??0?$Client@UParaUsv@srv@station_bridge23@@@rclcpp@@QEAA@PEAVNodeBaseInterface@node_interfaces@1@V?$shared_ptr@VNodeGraphInterface@node_interfaces@rclcpp@@@std@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@AEAUrcl_client_options_t@@@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: "struct rosidl_message_type_support_t const * __cdecl rosidl_typesupport_cpp::get_message_type_support_handle<struct station_bridge23::msg::StatusCon_<class std::allocator<void> > >(void)" (??$get_message_type_support_handle@U?$StatusCon_@V?$allocator@X@std@@@msg@station_bridge23@@@rosidl_typesupport_cpp@@YAPEBUrosidl_message_type_support_t@@XZ) 외부 기호(참조 위치: "public: __cdecl rclcpp::Publisher<struct station_bridge23::msg::StatusCon_<class std::allocator<void> >,class std::allocator<void> >::Publisher<struct station_bridge23::msg::StatusCon_<class std::allocator<void> >,class std::allocator<void> >(class rclcpp::node_interfaces::NodeBaseInterface *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class rclcpp::QoS const &,struct rclcpp::PublisherOptionsWithAllocator<class std::allocator<void> > const &)" (??0?$Publisher@U?$StatusCon_@V?$allocator@X@std@@@msg@station_bridge23@@V?$allocator@X@std@@@rclcpp@@QEAA@PEAVNodeBaseInterface@node_interfaces@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBVQoS@1@AEBU?$PublisherOptionsWithAllocator@V?$allocator@X@std@@@1@@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: "struct rosidl_message_type_support_t const * __cdecl rosidl_typesupport_cpp::get_message_type_support_handle<struct station_bridge23::msg::StatusUsv_<class std::allocator<void> > >(void)" (??$get_message_type_support_handle@U?$StatusUsv_@V?$allocator@X@std@@@msg@station_bridge23@@@rosidl_typesupport_cpp@@YAPEBUrosidl_message_type_support_t@@XZ) 외부 기호(참조 위치: "public: __cdecl rclcpp::Publisher<struct station_bridge23::msg::StatusUsv_<class std::allocator<void> >,class std::allocator<void> >::Publisher<struct station_bridge23::msg::StatusUsv_<class std::allocator<void> >,class std::allocator<void> >(class rclcpp::node_interfaces::NodeBaseInterface *,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class rclcpp::QoS const &,struct rclcpp::PublisherOptionsWithAllocator<class std::allocator<void> > const &)" (??0?$Publisher@U?$StatusUsv_@V?$allocator@X@std@@@msg@station_bridge23@@V?$allocator@X@std@@@rclcpp@@QEAA@PEAVNodeBaseInterface@node_interfaces@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBVQoS@1@AEBU?$PublisherOptionsWithAllocator@V?$allocator@X@std@@@1@@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: "struct rosidl_service_type_support_t const * __cdecl rosidl_typesupport_cpp::get_service_type_support_handle<struct station_bridge23::srv::WptsUsv>(void)" (??$get_service_type_support_handle@UWptsUsv@srv@station_bridge23@@@rosidl_typesupport_cpp@@YAPEBUrosidl_service_type_support_t@@XZ) 외부 기호(참조 위치: "public: __cdecl rclcpp::Service<struct station_bridge23::srv::WptsUsv>::Service<struct station_bridge23::srv::WptsUsv>(class std::shared_ptr<struct rcl_node_t>,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class rclcpp::AnyServiceCallback<struct station_bridge23::srv::WptsUsv>,struct rcl_service_options_t &)" (??0?$Service@UWptsUsv@srv@station_bridge23@@@rclcpp@@QEAA@V?$shared_ptr@Urcl_node_t@@@std@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@3@V?$AnyServiceCallback@UWptsUsv@srv@station_bridge23@@@1@AEAUrcl_service_options_t@@@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
C:\station_ws\build\station_bridge23\Release\station_bridge.exe : fatal error LNK1120: 15개의 확인할 수 없는 외부 참조입니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]]

 

모든 파일이 있음에도 발생중.

 

 

소켓이 동작하지 않는다.

station_bridge.obj : error LNK2019: __imp_closesocket 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_connect 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_htons 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_inet_addr 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_recv 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_send 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::send2USV_H(void)" (?send2USV_H@cStation_Bridge@@QEAAXXZ) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_setsockopt 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_socket 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_WSAStartup 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]
station_bridge.obj : error LNK2019: __imp_WSACleanup 외부 기호(참조 위치: "public: void __cdecl cStation_Bridge::run(int)" (?run@cStation_Bridge@@QEAAXH@Z) 함수)에서 확인하지 못했습니다. [C:\station_ws\build\station_bridge23\station_bridge.vcxproj]

반응형