iOS最新版的sdk集成进去报的错,换成cocoaPods能正常运行(没有语音功能),怎么破?

Undefined symbols for architecture x86_64:

  "webrtc::FIRFilterSSE2::FIRFilterSSE2(float const*, unsigned long, unsigned long)", referenced from:

      webrtc::FIRFilter::Create(float const*, unsigned long, unsigned long) in libEaseMobClientSDK.a(fir_filter.o)

  "std::string::find_last_not_of(char const*, unsigned long, unsigned long) const", referenced from:

      Json::Reader::readValue() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::compare(char const*) const", referenced from:

      _parse_remote(eice_st*, char const*, int) in libEaseMobClientSDK.a(eice.o)

      Json::Value::isConvertibleTo(Json::ValueType) const in libEaseMobClientSDK.a(jsoncpp.o)

  "std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:

      webrtc::NACKStringBuilder::GetResult() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::basic_ios<char, std::char_traits<char> >::widen(char) const", referenced from:

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::ostream& std::ostream::_M_insert<void const*>(void const*)", referenced from:

      webrtc::voe::RemixAndResample(webrtc::AudioFrame const&, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::acm2::ACMResampler::Resample10Msec(short const*, int, int, int, int, short*) in libEaseMobClientSDK.a(acm_resampler.o)

  "std::ostream& std::ostream::_M_insert<bool>(bool)", referenced from:

      webrtc::VoEBaseImpl::Init(webrtc::AudioDeviceModule*, webrtc::AudioProcessing*) in libEaseMobClientSDK.a(voe_base_impl.o)

  "std::ostream& std::ostream::_M_insert<double>(double)", referenced from:

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

  "std::ostream& std::ostream::_M_insert<unsigned long>(unsigned long)", referenced from:

      webrtc::ModuleRtpRtcpImpl::SetMaxTransferUnit(unsigned short) in libEaseMobClientSDK.a(rtp_rtcp_impl.o)

      webrtc::RTCPReceiver::ResetRTT(unsigned int) in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::HandleReportBlock(webrtc::RTCPUtility::RTCPPacket const&, webrtc::RTCPHelp::RTCPPacketInformation&, unsigned int, unsigned char) in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::NACKStringBuilder::PushNACK(unsigned short) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::GetResult() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTPSender::SetMaxPayloadLength(unsigned short, unsigned short) in libEaseMobClientSDK.a(rtp_sender.o)

      ...

  "std::ostream& std::ostream::_M_insert<long long>(long long)", referenced from:

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

  "std::ostream::operator<<(int)", referenced from:

      webrtc::voe::Channel::GetAudioFrame(int, webrtc::AudioFrame&) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::Init() in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::ReceivedRTPPacket(signed char const*, int, webrtc::PacketTime const&) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::TransmitMixer::ProcessAudio(int, int, int, bool) in libEaseMobClientSDK.a(transmit_mixer.o)

      webrtc::voe::RemixAndResample(webrtc::AudioFrame const&, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::VoEBaseImpl::Init(webrtc::AudioDeviceModule*, webrtc::AudioProcessing*) in libEaseMobClientSDK.a(voe_base_impl.o)

      ...

  "std::ostream::operator<<(short)", referenced from:

      webrtc::NetEqImpl::DecodeLoop(std::list<webrtc::Packet*, std::allocator<webrtc::Packet*> >*, webrtc::Operations*, webrtc::AudioDecoder*, int*, webrtc::AudioDecoder::SpeechType*) in libEaseMobClientSDK.a(neteq_impl.o)

  "std::string::_M_leak_hard()", referenced from:

      _WebRtcDataLog_Combine in libEaseMobClientSDK.a(data_log_c.o)

      Json::Reader::decodeString(Json::Reader::Token&, std::string&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::writeCommentBeforeValue(Json::Value const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::writeIndent() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:

      webrtc::voe::Channel::SendPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::SendRTCPPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::rtcp::Sdes::WithCName(unsigned int, std::string) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::~Sdes() in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::~Sdes() in libEaseMobClientSDK.a(rtcp_packet.o)

      std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::rtcp::Sdes::Chunk*, std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> > >, webrtc::rtcp::Sdes::Chunk const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::Chunk* std::__uninitialized_copy_aux<webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*>(webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, std::__false_type) in libEaseMobClientSDK.a(rtcp_packet.o)

      ...

  "std::string::_Rep::_S_terminal", referenced from:

      char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

      char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::_Rep::_S_empty_rep_storage", referenced from:

      webrtc::voe::Channel::SendPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::SendRTCPPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::rtcp::Sdes::WithCName(unsigned int, std::string) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::~Sdes() in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::~Sdes() in libEaseMobClientSDK.a(rtcp_packet.o)

      std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::rtcp::Sdes::Chunk*, std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> > >, webrtc::rtcp::Sdes::Chunk const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::Chunk* std::__uninitialized_copy_aux<webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*>(webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, std::__false_type) in libEaseMobClientSDK.a(rtcp_packet.o)

      ...

  "std::string::_Rep::_S_create(unsigned long, unsigned long, std::allocator<char> const&)", referenced from:

      char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

      char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::erase(unsigned long, unsigned long)", referenced from:

      Json::Reader::readValue() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::append(char const*, unsigned long)", referenced from:

      on_data_recvfrom(pj_activesock_t*, void*, unsigned long, void const*, int, int) in libEaseMobClientSDK.a(eice.o)

      Json::Reader::decodeNumber(Json::Reader::Token&, Json::Value&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Reader::decodeDouble(Json::Reader::Token&, Json::Value&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Reader::getFormattedErrorMessages() const in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::write(Json::Value const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::FastWriter::write(Json::Value const&) in libEaseMobClientSDK.a(jsoncpp.o)

      ...

  "std::string::append(std::string const&)", referenced from:

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      Json::Reader::addComment(char const*, char const*, Json::CommentPlacement) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Reader::decodeString(Json::Reader::Token&, std::string&) in libEaseMobClientSDK.a(jsoncpp.o)

      ...

  "std::string::assign(char const*, unsigned long)", referenced from:

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::string::assign(std::string const&)", referenced from:

      webrtc::rtcp::Sdes::WithCName(unsigned int, std::string) in libEaseMobClientSDK.a(rtcp_packet.o)

      std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::rtcp::Sdes::Chunk*, std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> > >, webrtc::rtcp::Sdes::Chunk const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      on_data_recvfrom(pj_activesock_t*, void*, unsigned long, void const*, int, int) in libEaseMobClientSDK.a(eice.o)

      _eice_new in libEaseMobClientSDK.a(eice.o)

      _parse_remote(eice_st*, char const*, int) in libEaseMobClientSDK.a(eice.o)

      Json::Reader::parse(std::string const&, Json::Value&, bool) in libEaseMobClientSDK.a(jsoncpp.o)

      ...

  "std::string::resize(unsigned long, char)", referenced from:

      Json::Reader::decodeString(Json::Reader::Token&, std::string&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::unindent() in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledStreamWriter::unindent() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::reserve(unsigned long)", referenced from:

      Json::Reader::decodeString(Json::Reader::Token&, std::string&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::normalizeEOL(std::string const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledStreamWriter::normalizeEOL(std::string const&) in libEaseMobClientSDK.a(jsoncpp.o)

      std::basic_string<char, std::char_traits<char>, std::allocator<char> > std::operator+<char, std::char_traits<char>, std::allocator<char> >(char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::_M_mutate(unsigned long, unsigned long, unsigned long)", referenced from:

      Json::Reader::readValue() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::string::push_back(char)", referenced from:

      Json::Reader::decodeString(Json::Reader::Token&, std::string&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::writeCommentBeforeValue(Json::Value const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::writeIndent() in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledWriter::normalizeEOL(std::string const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::StyledStreamWriter::normalizeEOL(std::string const&) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, std::allocator<char> const&)", referenced from:

      webrtc::voe::Channel::SendPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::SendRTCPPacket(int, void const*, int) in libEaseMobClientSDK.a(channel.o)

      webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      _WebRtcDataLog_Combine in libEaseMobClientSDK.a(data_log_c.o)

      _WebRtcDataLog_AddTable in libEaseMobClientSDK.a(data_log_c.o)

      _WebRtcDataLog_AddColumn in libEaseMobClientSDK.a(data_log_c.o)

      _WebRtcDataLog_InsertCell_int in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(char const*, unsigned long, std::allocator<char> const&)", referenced from:

      _eice_new in libEaseMobClientSDK.a(eice.o)

      _eice_get_local in libEaseMobClientSDK.a(eice.o)

      _parse_remote(eice_st*, char const*, int) in libEaseMobClientSDK.a(eice.o)

      _eice_get_nego_result in libEaseMobClientSDK.a(eice.o)

      cand_to_json_value(int, int, pj_ice_sess_cand const*, Json::Value&) in libEaseMobClientSDK.a(eice.o)

  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&)", referenced from:

      webrtc::rtcp::Sdes::WithCName(unsigned int, std::string) in libEaseMobClientSDK.a(rtcp_packet.o)

      std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::rtcp::Sdes::Chunk*, std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> > >, webrtc::rtcp::Sdes::Chunk const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      webrtc::rtcp::Sdes::Chunk* std::__uninitialized_copy_aux<webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*>(webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, webrtc::rtcp::Sdes::Chunk*, std::__false_type) in libEaseMobClientSDK.a(rtcp_packet.o)

      on_data_recvfrom(pj_activesock_t*, void*, unsigned long, void const*, int, int) in libEaseMobClientSDK.a(eice.o)

      _json_get_string(Json::Value&, char const*, std::string const&) in libEaseMobClientSDK.a(eice.o)

      Json::Reader::decodeNumber(Json::Reader::Token&, Json::Value&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Reader::decodeDouble(Json::Reader::Token&, Json::Value&) in libEaseMobClientSDK.a(jsoncpp.o)

      ...

  "std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(unsigned long, char, std::allocator<char> const&)", referenced from:

      Json::StyledWriter::indent() in libEaseMobClientSDK.a(jsoncpp.o)

  "std::runtime_error::runtime_error(std::string const&)", referenced from:

      Json::Value::asString() const in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Value::operator[](int) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::operator>>(std::istream&, Json::Value&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Value::CommentInfo::setComment(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Value::CZString::CZString(char const*, Json::Value::CZString::DuplicationPolicy) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Value::CZString::CZString(Json::Value::CZString const&) in libEaseMobClientSDK.a(jsoncpp.o)

      Json::Value::Value(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

      ...

  "std::_List_node_base::hook(std::_List_node_base*)", referenced from:

      std::list<MediaPackage*, std::allocator<MediaPackage*> >::_M_insert(std::_List_iterator<MediaPackage*>, MediaPackage* const&) in libEaseMobClientSDK.a(mediabuffer.o)

      std::list<YUVMediaPackage*, std::allocator<YUVMediaPackage*> >::_M_insert(std::_List_iterator<YUVMediaPackage*>, YUVMediaPackage* const&) in libEaseMobClientSDK.a(x264codec.o)

      webrtc::test::UdpSocketManagerPosixImpl::AddSocket(webrtc::test::UdpSocketWrapper*) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::test::UdpSocketManagerPosixImpl::RemoveSocket(webrtc::test::UdpSocketWrapper*) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::AviFile::WriteAudio(unsigned char const*, int) in libEaseMobClientSDK.a(avi_file.o)

      webrtc::AviFile::AddChunkToIndexList(unsigned int, unsigned int, unsigned int, unsigned int) in libEaseMobClientSDK.a(avi_file.o)

      webrtc::AviFile::WriteVideo(unsigned char const*, int) in libEaseMobClientSDK.a(avi_file.o)

      ...

  "std::_List_node_base::swap(std::_List_node_base&, std::_List_node_base&)", referenced from:

      void std::list<webrtc::DtmfEvent, std::allocator<webrtc::DtmfEvent> >::sort<bool (*)(webrtc::DtmfEvent const&, webrtc::DtmfEvent const&)>(bool (*)(webrtc::DtmfEvent const&, webrtc::DtmfEvent const&)) in libEaseMobClientSDK.a(dtmf_buffer.o)

  "std::_List_node_base::unhook()", referenced from:

      std::list<MediaPackage*, std::allocator<MediaPackage*> >::_M_erase(std::_List_iterator<MediaPackage*>) in libEaseMobClientSDK.a(mediabuffer.o)

      std::list<YUVMediaPackage*, std::allocator<YUVMediaPackage*> >::_M_erase(std::_List_iterator<YUVMediaPackage*>) in libEaseMobClientSDK.a(x264codec.o)

      webrtc::test::UdpSocketManagerPosixImpl::UpdateSocketMap() in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::paced_sender::PacketList::pop_front() in libEaseMobClientSDK.a(paced_sender.o)

      webrtc::DelayPeakDetector::Update(int, int) in libEaseMobClientSDK.a(delay_peak_detector.o)

      webrtc::DtmfBuffer::GetEvent(unsigned int, webrtc::DtmfEvent*) in libEaseMobClientSDK.a(dtmf_buffer.o)

      webrtc::NetEqImpl::InsertPacketInternal(webrtc::WebRtcRTPHeader const&, unsigned char const*, int, unsigned int, bool) in libEaseMobClientSDK.a(neteq_impl.o)

      ...

  "std::_List_node_base::reverse()", referenced from:

      webrtc::PayloadSplitter::SplitRed(std::list<webrtc::Packet*, std::allocator<webrtc::Packet*> >*) in libEaseMobClientSDK.a(payload_splitter.o)

  "std::_List_node_base::transfer(std::_List_node_base*, std::_List_node_base*)", referenced from:

      void std::list<webrtc::DtmfEvent, std::allocator<webrtc::DtmfEvent> >::sort<bool (*)(webrtc::DtmfEvent const&, webrtc::DtmfEvent const&)>(bool (*)(webrtc::DtmfEvent const&, webrtc::DtmfEvent const&)) in libEaseMobClientSDK.a(dtmf_buffer.o)

      webrtc::PayloadSplitter::SplitRed(std::list<webrtc::Packet*, std::allocator<webrtc::Packet*> >*) in libEaseMobClientSDK.a(payload_splitter.o)

      webrtc::PayloadSplitter::SplitAudio(std::list<webrtc::Packet*, std::allocator<webrtc::Packet*> >*, webrtc::DecoderDatabase const&) in libEaseMobClientSDK.a(payload_splitter.o)

      void std::list<webrtc::MixerParticipant*, std::allocator<webrtc::MixerParticipant*> >::insert<std::_List_iterator<webrtc::MixerParticipant*> >(std::_List_iterator<webrtc::MixerParticipant*>, std::_List_iterator<webrtc::MixerParticipant*>, std::_List_iterator<webrtc::MixerParticipant*>) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)

  "std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::_Ios_Openmode)", referenced from:

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::string const&, std::_Ios_Openmode)", referenced from:

      webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)", referenced from:

      webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()", referenced from:

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::locale::~locale()", referenced from:

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::ios_base::Init::Init()", referenced from:

      __GLOBAL__I_a in libEaseMobClientSDK.a(webrtc_voiceengine.o)

      __GLOBAL__I_a in libEaseMobClientSDK.a(file_audio_device.o)

  "std::ios_base::Init::~Init()", referenced from:

      __GLOBAL__I_a in libEaseMobClientSDK.a(webrtc_voiceengine.o)

      __GLOBAL__I_a in libEaseMobClientSDK.a(file_audio_device.o)

  "std::ios_base::~ios_base()", referenced from:

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "std::basic_ios<char, std::char_traits<char> >::clear(std::_Ios_Iostate)", referenced from:

      webrtc::RtpReceiverImpl::RegisterReceivePayload(char const*, signed char, unsigned int, unsigned char, unsigned int) in libEaseMobClientSDK.a(rtp_receiver_impl.o)

      webrtc::RTPReceiverAudio::InvokeOnInitializeDecoder(webrtc::RtpFeedback*, int, signed char, char const*, webrtc::PayloadUnion const&) const in libEaseMobClientSDK.a(rtp_receiver_audio.o)

      webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)

      webrtc::FilePlayerImpl::StartPlayingFile(char const*, bool, unsigned int, float, unsigned int, unsigned int, webrtc::CodecInst const*) in libEaseMobClientSDK.a(file_player_impl.o)

      webrtc::FileRecorderImpl::StartRecordingAudioFile(char const*, webrtc::CodecInst const&, unsigned int, webrtc::ACMAMRPackingFormat) in libEaseMobClientSDK.a(file_recorder_impl.o)

  "std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long)", referenced from:

      webrtc::voe::Channel::GetAudioFrame(int, webrtc::AudioFrame&) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::Init() in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::Channel::ReceivedRTPPacket(signed char const*, int, webrtc::PacketTime const&) in libEaseMobClientSDK.a(channel.o)

      webrtc::voe::TransmitMixer::ProcessAudio(int, int, int, bool) in libEaseMobClientSDK.a(transmit_mixer.o)

      webrtc::voe::RemixAndResample(webrtc::AudioFrame const&, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler<short>*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::VoEAudioProcessingImpl::SetTypingDetectionStatus(bool) in libEaseMobClientSDK.a(voe_audio_processing_impl.o)

      ...

  "std::_Rb_tree_decrement(std::_Rb_tree_node_base const*)", referenced from:

      Json::Value::size() const in libEaseMobClientSDK.a(jsoncpp.o)

  "std::_Rb_tree_decrement(std::_Rb_tree_node_base*)", referenced from:

      std::_Rb_tree<void*, std::pair<void* const, webrtc::Config::BaseOption*>, std::_Select1st<std::pair<void* const, webrtc::Config::BaseOption*> >, std::less<void*>, std::allocator<std::pair<void* const, webrtc::Config::BaseOption*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<void* const, webrtc::Config::BaseOption*> >, std::pair<void* const, webrtc::Config::BaseOption*> const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree<void*, std::pair<void* const, webrtc::Config::BaseOption*>, std::_Select1st<std::pair<void* const, webrtc::Config::BaseOption*> >, std::less<void*>, std::allocator<std::pair<void* const, webrtc::Config::BaseOption*> > >::_M_insert_unique(std::pair<void* const, webrtc::Config::BaseOption*> const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree<int, std::pair<int const, webrtc::test::UdpSocketPosix*>, std::_Select1st<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::less<int>, std::allocator<std::pair<int const, webrtc::test::UdpSocketPosix*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::pair<int const, webrtc::test::UdpSocketPosix*> const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree<int, std::pair<int const, webrtc::test::UdpSocketPosix*>, std::_Select1st<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::less<int>, std::allocator<std::pair<int const, webrtc::test::UdpSocketPosix*> > >::_M_insert_unique(std::pair<int const, webrtc::test::UdpSocketPosix*> const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatistician*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatistician*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::pair<unsigned int const, webrtc::StreamStatistician*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatistician*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatistician*> > >::_M_insert_unique(std::pair<unsigned int const, webrtc::StreamStatistician*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatisticianImpl*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> >, std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      ...

  "std::_Rb_tree_increment(std::_Rb_tree_node_base const*)", referenced from:

      webrtc::ReceiveStatisticsImpl::GetActiveStatisticians() const in libEaseMobClientSDK.a(receive_statistics_impl.o)

      webrtc::RTCPReceiver::LastReceivedReceiverReport() const in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::StatisticsReceived(std::vector<webrtc::RTCPReportBlock, std::allocator<webrtc::RTCPReportBlock> >*) const in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::UpdateTMMBR() in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::TMMBRReceived(unsigned int, unsigned int, webrtc::TMMBRSet*) const in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPSender::PrepareRTCP(webrtc::RTCPSender::FeedbackState const&, unsigned int, int, unsigned short const*, bool, unsigned long long, unsigned char*, int) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::WriteReportBlocksToBuffer(unsigned char*, int, std::map<unsigned int, webrtc::RTCPReportBlock*, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::RTCPReportBlock*> > > const&) in libEaseMobClientSDK.a(rtcp_sender.o)

      ...

  "std::_Rb_tree_increment(std::_Rb_tree_node_base*)", referenced from:

      webrtc::voe::Channel::Channel(int, unsigned int, webrtc::Config const&, media_callback*, bool) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree<void*, std::pair<void* const, webrtc::Config::BaseOption*>, std::_Select1st<std::pair<void* const, webrtc::Config::BaseOption*> >, std::less<void*>, std::allocator<std::pair<void* const, webrtc::Config::BaseOption*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<void* const, webrtc::Config::BaseOption*> >, std::pair<void* const, webrtc::Config::BaseOption*> const&) in libEaseMobClientSDK.a(channel.o)

      webrtc::test::UdpSocketManagerPosixImpl::~UdpSocketManagerPosixImpl() in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::test::UdpSocketManagerPosixImpl::Process() in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree<int, std::pair<int const, webrtc::test::UdpSocketPosix*>, std::_Select1st<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::less<int>, std::allocator<std::pair<int const, webrtc::test::UdpSocketPosix*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::pair<int const, webrtc::test::UdpSocketPosix*> const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::VoiceEngineImpl::~VoiceEngineImpl() in libEaseMobClientSDK.a(voice_engine_impl.o)

      webrtc::ReceiveStatisticsImpl::SetMaxReorderingThreshold(int) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      ...

  "std::__throw_logic_error(char const*)", referenced from:

      char* std::string::_S_construct<char*>(char*, char*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

      char* std::string::_S_construct<char const*>(char const*, char const*, std::allocator<char> const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::__throw_length_error(char const*)", referenced from:

      std::vector<MediaPackage*, std::allocator<MediaPackage*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<MediaPackage**, std::vector<MediaPackage*, std::allocator<MediaPackage*> > >, MediaPackage* const&) in libEaseMobClientSDK.a(mediabuffer.o)

      std::vector<YUVMediaPackage*, std::allocator<YUVMediaPackage*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<YUVMediaPackage**, std::vector<YUVMediaPackage*, std::allocator<YUVMediaPackage*> > >, YUVMediaPackage* const&) in libEaseMobClientSDK.a(x264codec.o)

      std::vector<webrtc::ReportBlock, std::allocator<webrtc::ReportBlock> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::ReportBlock*, std::vector<webrtc::ReportBlock, std::allocator<webrtc::ReportBlock> > >, webrtc::ReportBlock const&) in libEaseMobClientSDK.a(channel.o)

      std::vector<webrtc::voe::ChannelOwner, std::allocator<webrtc::voe::ChannelOwner> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::voe::ChannelOwner*, std::vector<webrtc::voe::ChannelOwner, std::allocator<webrtc::voe::ChannelOwner> > >, webrtc::voe::ChannelOwner const&) in libEaseMobClientSDK.a(channel_manager.o)

      std::vector<webrtc::ModuleRtpRtcpImpl*, std::allocator<webrtc::ModuleRtpRtcpImpl*> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::ModuleRtpRtcpImpl**, std::vector<webrtc::ModuleRtpRtcpImpl*, std::allocator<webrtc::ModuleRtpRtcpImpl*> > >, webrtc::ModuleRtpRtcpImpl* const&) in libEaseMobClientSDK.a(rtp_rtcp_impl.o)

      std::vector<webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem, std::allocator<webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem*, std::vector<webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem, std::allocator<webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem> > >, webrtc::RTCPUtility::RTCPPacketRTPFBNACKItem const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> >::_M_insert_aux(__gnu_cxx::__normal_iterator<webrtc::rtcp::Sdes::Chunk*, std::vector<webrtc::rtcp::Sdes::Chunk, std::allocator<webrtc::rtcp::Sdes::Chunk> > >, webrtc::rtcp::Sdes::Chunk const&) in libEaseMobClientSDK.a(rtcp_packet.o)

      ...

  "std::__throw_out_of_range(char const*)", referenced from:

      webrtc::RTCPReceiver::BoundingSet(bool&, webrtc::TMMBRSet*) in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPHelp::RTCPReceiveInformation::InsertTMMBRItem(unsigned int, webrtc::RTCPUtility::RTCPPacketRTPFBTMMBRItem const&, long long) in libEaseMobClientSDK.a(rtcp_receiver_help.o)

      webrtc::RTCPHelp::RTCPReceiveInformation::GetTMMBRSet(unsigned int, unsigned int, webrtc::TMMBRSet*, long long) in libEaseMobClientSDK.a(rtcp_receiver_help.o)

      webrtc::RTCPSender::BuildTMMBR(webrtc::ModuleRtpRtcpImpl*, unsigned char*, int&) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildTMMBN(unsigned char*, int&) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::TMMBRSet::VerifyAndAllocateSet(unsigned int) in libEaseMobClientSDK.a(tmmbr_help.o)

      webrtc::TMMBRSet::SetEntry(unsigned int, unsigned int, unsigned int, unsigned int) in libEaseMobClientSDK.a(tmmbr_help.o)

      ...

  "std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)", referenced from:

      webrtc::test::UdpSocketManagerPosixImpl::UpdateSocketMap() in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      webrtc::ReceiveStatisticsImpl::~ReceiveStatisticsImpl() in libEaseMobClientSDK.a(receive_statistics_impl.o)

      webrtc::ReceiveStatisticsImpl::ChangeSsrc(unsigned int, unsigned int) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      webrtc::RTCPReceiver::~RTCPReceiver() in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::HandleBYE(webrtc::RTCPUtility::RTCPParserV2&) in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPReceiver::UpdateRTCPReceiveInformationTimers() in libEaseMobClientSDK.a(rtcp_receiver.o)

      webrtc::RTCPSender::~RTCPSender() in libEaseMobClientSDK.a(rtcp_sender.o)

      ...

  "std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)", referenced from:

      std::_Rb_tree<void*, std::pair<void* const, webrtc::Config::BaseOption*>, std::_Select1st<std::pair<void* const, webrtc::Config::BaseOption*> >, std::less<void*>, std::allocator<std::pair<void* const, webrtc::Config::BaseOption*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<void* const, webrtc::Config::BaseOption*> >, std::pair<void* const, webrtc::Config::BaseOption*> const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree<void*, std::pair<void* const, webrtc::Config::BaseOption*>, std::_Select1st<std::pair<void* const, webrtc::Config::BaseOption*> >, std::less<void*>, std::allocator<std::pair<void* const, webrtc::Config::BaseOption*> > >::_M_insert_unique(std::pair<void* const, webrtc::Config::BaseOption*> const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree<int, std::pair<int const, webrtc::test::UdpSocketPosix*>, std::_Select1st<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::less<int>, std::allocator<std::pair<int const, webrtc::test::UdpSocketPosix*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::pair<int const, webrtc::test::UdpSocketPosix*> const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree<int, std::pair<int const, webrtc::test::UdpSocketPosix*>, std::_Select1st<std::pair<int const, webrtc::test::UdpSocketPosix*> >, std::less<int>, std::allocator<std::pair<int const, webrtc::test::UdpSocketPosix*> > >::_M_insert_unique(std::pair<int const, webrtc::test::UdpSocketPosix*> const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatistician*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatistician*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::pair<unsigned int const, webrtc::StreamStatistician*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatistician*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatistician*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatistician*> > >::_M_insert_unique(std::pair<unsigned int const, webrtc::StreamStatistician*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree<unsigned int, std::pair<unsigned int const, webrtc::StreamStatisticianImpl*>, std::_Select1st<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> >, std::less<unsigned int>, std::allocator<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> > >::_M_insert_unique(std::_Rb_tree_iterator<std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> >, std::pair<unsigned int const, webrtc::StreamStatisticianImpl*> const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      ...

  "std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char)", referenced from:

      Json::Reader::parse(std::istream&, Json::Value&, bool) in libEaseMobClientSDK.a(jsoncpp.o)

  "std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::basic_string<char, std::char_traits<char>, std::allocator<char> >&)", referenced from:

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

  "VTT for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<double>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<float>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  "VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)

      webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)

      Json::valueToQuotedString(char const*) in libEaseMobClientSDK.a(jsoncpp.o)

  "vtable for std::basic_streambuf<char, std::char_traits<char> >", referenced from:

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

  "vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >", referenced from:

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::NACKStringBuilder::~NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)

      webrtc::MultiValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<long long>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::MultiValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      webrtc::ValueContainer<unsigned int>::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

      ...

  NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.

  "_dns_free_resource_record", referenced from:

      -[XMPPSRVResolver processRecord:length:] in libEaseMobClientSDK.a(XMPPSRVResolver.o)

  "_dns_parse_resource_record", referenced from:

      -[XMPPSRVResolver processRecord:length:] in libEaseMobClientSDK.a(XMPPSRVResolver.o)

  "_iconv", referenced from:

      _mem_cd_iconv in libEaseMobClientSDK.a(striconv.o)

      _str_cd_iconv in libEaseMobClientSDK.a(striconv.o)

      _avcodec_decode_subtitle2 in libEaseMobClientSDK.a(utils.o)

     (maybe you meant: _mem_cd_iconv, _str_iconv , _str_cd_iconv )

  "_iconv_close", referenced from:

      _str_iconv in libEaseMobClientSDK.a(striconv.o)

      _avcodec_open2 in libEaseMobClientSDK.a(utils.o)

      _avcodec_decode_subtitle2 in libEaseMobClientSDK.a(utils.o)

  "_iconv_open", referenced from:

      _str_iconv in libEaseMobClientSDK.a(striconv.o)

      _avcodec_open2 in libEaseMobClientSDK.a(utils.o)

      _avcodec_decode_subtitle2 in libEaseMobClientSDK.a(utils.o)

  "_initGenericErrorDefaultFunc", referenced from:

      ___23+[DDXMLNode initialize]_block_invoke in libEaseMobClientSDK.a(DDXMLNode.o)

  "_sqlite3_bind_blob", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_double", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_int", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_int64", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_null", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_parameter_count", referenced from:

      -[EMFMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_parameter_index", referenced from:

      -[EMFMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_bind_text", referenced from:

      -[EMFMDatabase bindObject:toColumn:inStatement:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_busy_handler", referenced from:

      -[EMFMDatabase setMaxBusyRetryTimeInterval:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_changes", referenced from:

      -[EMFMDatabase changes] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_close", referenced from:

      -[EMFMDatabase close] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_column_blob", referenced from:

      -[EMFMResultSet dataForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet dataNoCopyForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_bytes", referenced from:

      -[EMFMResultSet dataForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet dataNoCopyForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_count", referenced from:

      -[EMFMResultSet columnCount] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet columnNameToIndexMap] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet kvcMagic:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet resultDictionary] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_double", referenced from:

      -[EMFMResultSet doubleForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_int", referenced from:

      -[EMFMResultSet intForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_int64", referenced from:

      -[EMFMResultSet longForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet longLongIntForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_name", referenced from:

      -[EMFMResultSet columnNameToIndexMap] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet kvcMagic:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet resultDictionary] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet columnNameForIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_text", referenced from:

      -[EMFMResultSet kvcMagic:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet stringForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet UTF8StringForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_column_type", referenced from:

      -[EMFMResultSet stringForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet dateForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet dataForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet dataNoCopyForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet columnIndexIsNull:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet UTF8StringForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet objectForColumnIndex:] in libEaseMobClientSDK.a(EMFMResultSet.o)

      ...

  "_sqlite3_create_function", referenced from:

      -[EMFMDatabase makeFunctionNamed:maximumArguments:withBlock:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_data_count", referenced from:

      -[EMFMResultSet resultDict] in libEaseMobClientSDK.a(EMFMResultSet.o)

      -[EMFMResultSet resultDictionary] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_errcode", referenced from:

      -[EMFMDatabase lastErrorCode] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase errorWithMessage:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMResultSet hasAnotherRow] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_errmsg", referenced from:

      -[EMFMDatabase lastErrorMessage] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMResultSet next] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_exec", referenced from:

      -[EMFMDatabase executeStatements:withResultBlock:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_finalize", referenced from:

      -[EMFMDatabase close] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMStatement close] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase(EMFMDatabaseAdditions) validateSQL:error:] in libEaseMobClientSDK.a(EMFMDatabaseAdditions.o)

  "_sqlite3_free", referenced from:

      -[EMFMDatabase executeStatements:withResultBlock:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_last_insert_rowid", referenced from:

      -[EMFMDatabase lastInsertRowId] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_libversion", referenced from:

      +[EMFMDatabase sqliteLibVersion] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_next_stmt", referenced from:

      -[EMFMDatabase close] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_open", referenced from:

      -[EMFMDatabase open] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_open_v2", referenced from:

      -[EMFMDatabase openWithFlags:] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_prepare_v2", referenced from:

      -[EMFMDatabase executeQuery:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMDatabase(EMFMDatabaseAdditions) validateSQL:error:] in libEaseMobClientSDK.a(EMFMDatabaseAdditions.o)

  "_sqlite3_reset", referenced from:

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMStatement reset] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_sleep", referenced from:

      _EMFMDBDatabaseBusyHandler in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_step", referenced from:

      -[EMFMDatabase executeUpdate:error:withArgumentsInArray:orDictionary:orVAList:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      -[EMFMResultSet next] in libEaseMobClientSDK.a(EMFMResultSet.o)

  "_sqlite3_threadsafe", referenced from:

      -[EMFMDatabase initWithPath:] in libEaseMobClientSDK.a(EMFMDatabase.o)

      +[EMFMDatabase isSQLiteThreadSafe] in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_sqlite3_user_data", referenced from:

      _EMFMDBBlockSQLiteCallBackFunction in libEaseMobClientSDK.a(EMFMDatabase.o)

  "_xmlAddChild", referenced from:

      _xmpp_xmlStartElement in libEaseMobClientSDK.a(XMPPParser.o)

      _xmpp_xmlCharacters in libEaseMobClientSDK.a(XMPPParser.o)

      -[DDXMLElement addAttribute:] in libEaseMobClientSDK.a(DDXMLElement.o)

      -[DDXMLElement addChild:] in libEaseMobClientSDK.a(DDXMLElement.o)

      -[DDXMLElement insertChild:atIndex:] in libEaseMobClientSDK.a(DDXMLElement.o)

  "_xmlAddPrevSibling", referenced from:

      -[DDXMLElement insertChild:atIndex:] in libEaseMobClientSDK.a(DDXMLElement.o)

  "_xmlBufferCreate", referenced from:

      -[DDXMLNode XMLStringWithOptions:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlBufferFree", referenced from:

      -[DDXMLNode XMLStringWithOptions:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCopyDoc", referenced from:

      -[DDXMLNode copyWithZone:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCopyDtd", referenced from:

      -[DDXMLNode copyWithZone:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCopyNamespace", referenced from:

      -[DDXMLNode copyWithZone:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCopyNode", referenced from:

      _xmpp_xmlStartElement in libEaseMobClientSDK.a(XMPPParser.o)

      -[DDXMLNode copyWithZone:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCopyProp", referenced from:

      -[DDXMLNode copyWithZone:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlCreatePushParserCtxt", referenced from:

      -[XMPPParser initWithDelegate:delegateQueue:parserQueue:] in libEaseMobClientSDK.a(XMPPParser.o)

  "_xmlCtxtGetLastError", referenced from:

      ___24-[XMPPParser parseData:]_block_invoke in libEaseMobClientSDK.a(XMPPParser.o)

  "_xmlDocGetRootElement", referenced from:

      -[DDXMLDocument rootElement] in libEaseMobClientSDK.a(DDXMLDocument.o)

      _xmpp_xmlStartElement in libEaseMobClientSDK.a(XMPPParser.o)

      _xmpp_xmlEndElement in libEaseMobClientSDK.a(XMPPParser.o)

      _xmpp_xmlSearchNs in libEaseMobClientSDK.a(XMPPParser.o)

  "_xmlDocSetRootElement", referenced from:

      -[DDXMLNode nodesForXPath:error:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlEncodeSpecialChars", referenced from:

      -[DDXMLNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLNamespaceNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLAttributeNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFree", referenced from:

      _xmpp_xmlStartElement in libEaseMobClientSDK.a(XMPPParser.o)

      -[DDXMLNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLNode stringValue] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLNamespaceNode setName:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLNamespaceNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLAttributeNode setStringValue:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFreeDoc", referenced from:

      -[XMPPParser dealloc] in libEaseMobClientSDK.a(XMPPParser.o)

      -[DDXMLNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLNode nodesForXPath:error:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFreeDtd", referenced from:

      -[DDXMLNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFreeNode", referenced from:

      -[DDXMLNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeChild:] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeAllChildrenFromNode:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFreeNs", referenced from:

      -[DDXMLNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeNamespace:fromNode:] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeAllNamespacesFromNode:] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLAttributeNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

      -[DDXMLAttributeNode setURI:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlFreeParserCtxt", referenced from:

      -[XMPPParser dealloc] in libEaseMobClientSDK.a(XMPPParser.o)

  "_xmlFreeProp", referenced from:

      -[DDXMLNode dealloc] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeAttribute:] in libEaseMobClientSDK.a(DDXMLNode.o)

      +[DDXMLNode removeAllAttributesFromNode:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlIndentTreeOutput", referenced from:

      -[DDXMLNode XMLStringWithOptions:] in libEaseMobClientSDK.a(DDXMLNode.o)

  "_xmlKeepBlanksDefault", referenced from:

      -[DDXMLDocument initWithData:options:error:] in libEaseMobClientSDK.a(DDXMLDocument.o)

      ___23+[DDXMLNode initialize]_block_invoke in libEaseMobClientSDK.a
已邀请:

lifei9241

赞同来自: fat1 leftw

是不是少导入依赖库了。对照文档检查一遍。cocoapods上 2.1.7的有实时语音了,pod 'EaseMobSDKFull','~>2.1.7'

Half12345

赞同来自: fat1

加下库 libstdc++ 6.0.9试下。

zhangyb

赞同来自:

这是手动集成的SDK报的错误么

要回复问题请先登录注册

知识价值的认可,源自您的赞赏

扫描二维码,你的支付将由imGeek代收后转给对方

×