注册

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, std::allocator >::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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

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

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

      ...

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

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

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

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

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler*, 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)", referenced from:

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

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

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

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

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

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

  "std::ostream& std::ostream::_M_insert(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)", referenced from:

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

      webrtc::ValueContainer::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*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler*, 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::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 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 >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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*, std::__false_type) in libEaseMobClientSDK.a(rtcp_packet.o)

      ...

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

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

      char* std::string::_S_construct(char const*, char const*, std::allocator 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 >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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*, std::__false_type) in libEaseMobClientSDK.a(rtcp_packet.o)

      ...

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

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

      char* std::string::_S_construct(char const*, char const*, std::allocator 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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

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

      webrtc::MultiValueContainer::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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

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

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

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

      webrtc::MultiValueContainer::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 >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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, std::allocator > std::operator+, std::allocator >(char const*, std::basic_string, std::allocator > 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, std::allocator >::basic_string(char const*, std::allocator 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, std::allocator >::basic_string(char const*, unsigned long, std::allocator 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, std::allocator >::basic_string(std::string const&)", referenced from:

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

      std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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*, 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, std::allocator >::basic_string(unsigned long, char, std::allocator 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 >::_M_insert(std::_List_iterator, MediaPackage* const&) in libEaseMobClientSDK.a(mediabuffer.o)

      std::list >::_M_insert(std::_List_iterator, 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 >::sort(bool (*)(webrtc::DtmfEvent const&, webrtc::DtmfEvent const&)) in libEaseMobClientSDK.a(dtmf_buffer.o)

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

      std::list >::_M_erase(std::_List_iterator) in libEaseMobClientSDK.a(mediabuffer.o)

      std::list >::_M_erase(std::_List_iterator) 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 >*) in libEaseMobClientSDK.a(payload_splitter.o)

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

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

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

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

      void std::list >::insert >(std::_List_iterator, std::_List_iterator, std::_List_iterator) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)

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

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

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

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

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

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

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

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

      ...

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

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

  "std::basic_ostringstream, std::allocator >::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, std::allocator >::~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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

      webrtc::ValueContainer::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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

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

      ...

  "std::basic_ios >::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 >& std::__ostream_insert >(std::basic_ostream >&, 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*, webrtc::AudioFrame*) in libEaseMobClientSDK.a(utility.o)

      webrtc::voe::DownConvertToCodecFormat(short const*, int, int, int, int, int, short*, webrtc::PushResampler*, 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, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair 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 >*) 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, std::allocator > > 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, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair 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, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair 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*, std::allocator const&, std::forward_iterator_tag) in libEaseMobClientSDK.a(jsoncpp.o)

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

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

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

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

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

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

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

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

      std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, 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, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(channel.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(udp_socket_manager_posix.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(receive_statistics_impl.o)

      ...

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

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

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

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

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

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

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

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

  "VTT for std::basic_stringstream, std::allocator >", referenced from:

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

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

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

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

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

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

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

      ...

  "VTT for std::basic_ostringstream, std::allocator >", 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 >", 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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

      webrtc::ValueContainer::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, std::allocator >", 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::ToString(std::string*) const in libEaseMobClientSDK.a(data_log_c.o)

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

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

      webrtc::ValueContainer::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(DDXMLE
已邀请:

lifei9241

赞同来自: fat1 leftw

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

Half12345

赞同来自: fat1

加下库 libstdc++ 6.0.9试下。
这是手动集成的SDK报的错误么

要回复问题请先登录注册