alanxz / SimpleAmqpClient

Simple C++ Interface to rabbitmq-c
MIT License
396 stars 212 forks source link

求助!!!使用VS2019生成SimpleAmqpClient库时,无法解析的外部符号。 #306

Open WangxuhuiL opened 2 years ago

WangxuhuiL commented 2 years ago

1>AmqpException.obj : error LNK2019: 无法解析的外部符号 imp_amqp_method_name,函数 "public: static void cdecl AmqpClient::AmqpException::Throw(struct amqp_channel_closet const &)" (?Throw@AmqpException@AmqpClient@@SAXAEBUamqp_channel_closet@@@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_new_connection,函数 "private: static class AmqpClient::Channel::ChannelImpl * cdecl AmqpClient::Channel::OpenChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,bool)" (?OpenChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000H_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_get_sockfd,函数 "public: int cdecl AmqpClient::Channel::GetSocketFD(void)const " (?GetSocketFD@Channel@AmqpClient@@QEBAHXZ) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_destroy_connection,函数 "public: virtual cdecl AmqpClient::Channel::~Channel(void)" (??1Channel@AmqpClient@@UEAA@XZ) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_send_method,函数 "public: void cdecl AmqpClient::Channel::BasicCancel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?BasicCancel@Channel@AmqpClient@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2001: 无法解析的外部符号 imp_amqp_send_method 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_basic_publish,函数 "public: void cdecl AmqpClient::Channel::BasicPublish(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class boost::shared_ptr,bool,bool)" (?BasicPublish@Channel@AmqpClient@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0V?$shared_ptr@VBasicMessage@AmqpClient@@@boost@@_N2@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 __imp_amqp_connection_close,函数 "public: virtual cdecl AmqpClient::Channel::~Channel(void)" (??1Channel@AmqpClient@@UEAA@XZ) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_basic_ack,函数 "public: void __cdecl AmqpClient::Channel::BasicAck(struct AmqpClient::Envelope::DeliveryInfo const &,bool)" (?BasicAck@Channel@AmqpClient@@QEAAXAEBUDeliveryInfo@Envelope@2@_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_default_connection_info,函数 "public: static struct AmqpClient::Channel::OpenOpts cdecl AmqpClient::Channel::OpenOpts::FromUri(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?FromUri@OpenOpts@Channel@AmqpClient@@SA?AU123@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_parse_url,函数 "public: static struct AmqpClient::Channel::OpenOpts cdecl AmqpClient::Channel::OpenOpts::FromUri(class std::basic_string<char,struct std::char_traits,class std::allocator > const &)" (?FromUri@OpenOpts@Channel@AmqpClient@@SA?AU123@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_socket_open,函数 "private: static class AmqpClient::Channel::ChannelImpl __cdecl AmqpClient::Channel::OpenChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,bool)" (?OpenChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000H_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 __imp_amqp_tcp_socket_new,函数 "private: static class AmqpClient::Channel::ChannelImpl cdecl AmqpClient::Channel::OpenChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,bool)" (?OpenChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000H_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_ssl_socket_new,函数 "private: static class AmqpClient::Channel::ChannelImpl * cdecl AmqpClient::Channel::OpenSecureChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,struct AmqpClient::Channel::OpenOpts::TLSParams const &,bool)" (?OpenSecureChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000HAEBUTLSParams@OpenOpts@12@_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_ssl_socket_set_cacert,函数 "private: static class AmqpClient::Channel::ChannelImpl __cdecl AmqpClient::Channel::OpenSecureChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,struct AmqpClient::Channel::OpenOpts::TLSParams const &,bool)" (?OpenSecureChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000HAEBUTLSParams@OpenOpts@12@_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 __imp_amqp_ssl_socket_set_key,函数 "private: static class AmqpClient::Channel::ChannelImpl cdecl AmqpClient::Channel::OpenSecureChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,struct AmqpClient::Channel::OpenOpts::TLSParams const &,bool)" (?OpenSecureChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000HAEBUTLSParams@OpenOpts@12@_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_ssl_socket_set_verify_peer,函数 "private: static class AmqpClient::Channel::ChannelImpl * cdecl AmqpClient::Channel::OpenSecureChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,struct AmqpClient::Channel::OpenOpts::TLSParams const &,bool)" (?OpenSecureChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000HAEBUTLSParams@OpenOpts@12@_N@Z) 中引用了该符号 1>Channel.obj : error LNK2019: 无法解析的外部符号 imp_amqp_ssl_socket_set_verify_hostname,函数 "private: static class AmqpClient::Channel::ChannelImpl cdecl AmqpClient::Channel::OpenSecureChannel(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,struct AmqpClient::Channel::OpenOpts::TLSParams const &,bool)" (?OpenSecureChannel@Channel@AmqpClient@@CAPEAVChannelImpl@12@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H000HAEBUTLSParams@OpenOpts@12@_N@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 __imp_amqp_cstring_bytes,函数 "private: static unsigned int cdecl AmqpClient::Channel::ChannelImpl::ComputeBrokerVersion(struct amqp_connection_statet const)" (?ComputeBrokerVersion@ChannelImpl@Channel@AmqpClient@@CAIQEAUamqp_connection_statet@@@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_get_channel_max,函数 "public: unsigned short cdecl AmqpClient::Channel::ChannelImpl::CreateNewChannel(void)" (?CreateNewChannel@ChannelImpl@Channel@AmqpClient@@QEAAGXZ) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_maybe_release_buffers_on_channel,函数 "public: void cdecl AmqpClient::Channel::ChannelImpl::MaybeReleaseBuffersOnChannel(unsigned short)" (?MaybeReleaseBuffersOnChannel@ChannelImpl@Channel@AmqpClient@@QEAAXG@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_simple_wait_frame_noblock,函数 "public: bool __cdecl AmqpClient::Channel::ChannelImpl::GetMethodOnChannel<class boost::array<unsigned short,1>,class boost::array<unsigned int,1> >(class boost::array<unsigned short,1>,struct amqp_framet &,class boost::array<unsigned int,1> const &,class boost::chrono::duration<int64,class boost::ratio<1,1000000> >)" (??$GetMethodOnChannel@V?$array@G$00@boost@@V?$array@I$00@2@@ChannelImpl@Channel@AmqpClient@@QEAA_NV?$array@G$00@boost@@AEAUamqp_framet@@AEBV?$array@I$00@4@V?$duration@_JV?$ratio@$00$0PECEA@@boost@@@chrono@4@@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_login_with_properties,函数 "public: void cdecl AmqpClient::Channel::ChannelImpl::DoLogin(class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,class std::basic_string<char,struct std::char_traits,class std::allocator > const &,int,bool)" (?DoLogin@ChannelImpl@Channel@AmqpClient@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00H_N@Z) 中引用了该符号 1>ChannelImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_get_server_properties,函数 "private: static unsigned int cdecl AmqpClient::Channel::ChannelImpl::ComputeBrokerVersion(struct amqp_connection_statet const)" (?ComputeBrokerVersion@ChannelImpl@Channel@AmqpClient@@CAIQEAUamqp_connection_statet@@@Z) 中引用了该符号 1>AmqpLibraryException.obj : error LNK2019: 无法解析的外部符号 imp_amqp_error_string2,函数 "public: static class AmqpClient::AmqpLibraryException cdecl AmqpClient::AmqpLibraryException::CreateException(int)" (?CreateException@AmqpLibraryException@AmqpClient@@SA?AV12@H@Z) 中引用了该符号 1>AmqpResponseLibraryException.obj : error LNK2001: 无法解析的外部符号 imp_amqp_error_string2 1>TableImpl.obj : error LNK2019: 无法解析的外部符号 imp_init_amqp_pool,函数 "public: static struct amqp_tablet cdecl AmqpClient::Detail::TableValueImpl::CopyTable(struct amqp_tablet const &,class boost::shared_ptr &)" (?CopyTable@TableValueImpl@Detail@AmqpClient@@SA?AUamqp_tablet@@AEBU4@AEAV?$shared_ptr@Uamqp_poolt@@@boost@@@Z) 中引用了该符号 1>TableImpl.obj : error LNK2019: 无法解析的外部符号 imp_empty_amqp_pool,函数 "void __cdecl AmqpClient::Detail::free_pool(struct amqp_poolt )" (?free_pool@Detail@AmqpClient@@YAXPEAUamqp_poolt@@@Z) 中引用了该符号 1>TableImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_pool_alloc,函数 "struct amqp_field_valuet cdecl boost::detail::variant::visitation_impl_invoke<class boost::detail::variant::invoke_visitor<class AmqpClient::Detail::TableValueImpl::generate_field_value const ,0>,void *,class std::vector<class AmqpClient::TableValue,class std::allocator >,struct boost::variant<struct AmqpClient::Detail::void_t,bool,signed char,short,int,int64,float,double,class std::basic_string<char,struct std::char_traits,class std::allocator >,class std::vector<class AmqpClient::TableValue,class std::allocator >,class std::map<class std::basic_string<char,struct std::char_traits,class std::allocator >,class AmqpClient::TableValue,struct std::less<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits,class std::allocator > const ,class AmqpClient::TableValue> > >,unsigned char,unsigned short,unsigned int,unsigned __int64>::has_fallbacktype>(int,class boost::detail::variant::invoke_visitor<class AmqpClient::Detail::TableValueImpl::generate_field_value const ,0> &,void ,class std::vector<class AmqpClient::TableValue,class std::allocator > ,struct boost::variant<struct AmqpClient::Detail::void_t,bool,signed char,short,int,int64,float,double,class std::basic_string<char,struct std::char_traits,class std::allocator >,class std::vector<class AmqpClient::TableValue,class std::allocator >,class std::map<class std::basic_string<char,struct std::char_traits,class std::allocator >,class AmqpClient::TableValue,struct std::less<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits,class std::allocator > const ,class AmqpClient::TableValue> > >,unsigned char,unsigned short,unsigned int,unsigned int64>::has_fallbacktype,int)" (??$visitation_impl_invoke@V?$invoke_visitor@$$CBVgenerate_field_value@TableValueImpl@Detail@AmqpClient@@$0A@@variant@detail@boost@@PEAXV?$vector@VTableValue@AmqpClient@@V?$allocator@VTableValue@AmqpClient@@@std@@@std@@Uhas_fallbacktype@?$variant@Uvoid_t@Detail@AmqpClient@@_NCFH_JMNV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$vector@VTableValue@AmqpClient@@V?$allocator@VTableValue@AmqpClient@@@std@@@5@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@@std@@@2@@5@EGI_K@4@@variant@detail@boost@@YA?AUamqp_field_valuet@@HAEAV?$invoke_visitor@$$CBVgenerate_field_value@TableValueImpl@Detail@AmqpClient@@$0A@@012@PEAXPEAV?$vector@VTableValue@AmqpClient@@V?$allocator@VTableValue@AmqpClient@@@std@@@std@@Uhas_fallbacktype@?$variant@Uvoid_t@Detail@AmqpClient@@_NCFH_JMNV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$vector@VTableValue@AmqpClient@@V?$allocator@VTableValue@AmqpClient@@@std@@@5@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@@std@@@2@@5@EGI_K@2@H@Z) 中引用了该符号 1>TableImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_pool_alloc_bytes,函数 "public: struct amqp_field_valuet cdecl boost::variant<struct AmqpClient::Detail::void_t,bool,signed char,short,int,int64,float,double,class std::basic_string<char,struct std::char_traits,class std::allocator >,class std::vector<class AmqpClient::TableValue,class std::allocator >,class std::map<class std::basic_string<char,struct std::char_traits,class std::allocator >,class AmqpClient::TableValue,struct std::less<class std::basic_string<char,struct std::char_traits,class std::allocator > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits,class std::allocator > const ,class AmqpClient::TableValue> > >,unsigned char,unsigned short,unsigned int,unsigned int64>::apply_visitor(class AmqpClient::Detail::TableValueImpl::generate_field_value const &)& " (??$apply_visitor@$$CBVgenerate_field_value@TableValueImpl@Detail@AmqpClient@@@?$variant@Uvoid_t@Detail@AmqpClient@@_NCFH_JMNV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V?$vector@VTableValue@AmqpClient@@V?$allocator@VTableValue@AmqpClient@@@std@@@5@V?$map@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@VTableValue@AmqpClient@@@std@@@2@@5@EGI_K@boost@@QEGAA?AUamqp_field_valuet@@AEBVgenerate_field_value@TableValueImpl@Detail@AmqpClient@@@Z) 中引用了该符号 1>TableImpl.obj : error LNK2019: 无法解析的外部符号 imp_amqp_empty_table,函数 "public: static struct amqp_tablet __cdecl AmqpClient::Detail::TableValueImpl::CopyTable(struct amqp_tablet const &,class boost::shared_ptr &)" (?CopyTable@TableValueImpl@Detail@AmqpClient@@SA?AUamqp_tablet@@AEBU4@AEAV?$shared_ptr@Uamqp_poolt@@@boost@@@Z) 中引用了该符号 1>D:\ETCLaneDesign\Client\SimpleAmqpClient-master\build\Release\SimpleAmqpClient.7.dll : fatal error LNK1120: 29 个无法解析的外部命令

superGrandpaxx commented 7 months ago

解决了吗

rick-thebigdick commented 2 weeks ago

这是因为找不到ssl模块,你在宏里找到关于ssl的一个变量,删了就行