注册

libEaseMobClientSDKLite.a编译正常,换成libEaseMobClientSDK.a编译错误

版本:V2.1.4 2015-03-14 UIDemo是正常的
我项目里原来引用的是libEaseMobClientSDKLite.a编译正常,但换成libEaseMobClientSDK.a后编译错误
该怎么办呢?arm64,错误信息:


Undefined symbols for architecture arm64:
"std::_List_node_base::reverse()", referenced from:
webrtc::PayloadSplitter::SplitRed(std::list >*) in libEaseMobClientSDK.a(payload_splitter.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::assign(std::string const&)", referenced from:
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.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::_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(audio_conference_mixer_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::BitrateControllerImpl::NormalRateAllocation(unsigned int, unsigned char, unsigned int, unsigned int) in libEaseMobClientSDK.a(bitrate_controller_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(bitrate_controller_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(bitrate_controller_impl.o)
...
"std::__throw_out_of_range(char const*)", referenced from:
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::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::RTPPacketHistory::GetPacketAndSetSendTime(unsigned short, unsigned int, bool, unsigned char*, unsigned short*, long long*) in libEaseMobClientSDK.a(rtp_packet_history.o)
webrtc::RTPPacketHistory::GetBestFittingPacket(unsigned char*, unsigned short*, long long*) in libEaseMobClientSDK.a(rtp_packet_history.o)
...
"std::__throw_length_error(char const*)", referenced from:
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::ReportBlock const&) in libEaseMobClientSDK.a(channel.o)
webrtc::AudioBuffer::AudioBuffer(int, int, int, int, int) in libEaseMobClientSDK.a(audio_buffer.o)
std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, webrtc::PushSincResampler* const&) in libEaseMobClientSDK.a(audio_buffer.o)
std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, webrtc::ModuleRtpRtcpImpl* const&) in libEaseMobClientSDK.a(rtp_rtcp_impl.o)
std::vector >::_M_fill_insert(__gnu_cxx::__normal_iterator > >, unsigned long, void* const&) in libEaseMobClientSDK.a(processing_component.o)
std::vector >::_M_insert_aux(__gnu_cxx::__normal_iterator > >, webrtc::RTCPReportBlock const&) in libEaseMobClientSDK.a(rtcp_receiver.o)
...
"VTT for std::basic_ostringstream, std::allocator >", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.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)
"std::_List_node_base::unhook()", referenced from:
webrtc::AudioProcessingImpl::~AudioProcessingImpl() in libEaseMobClientSDK.a(audio_processing_impl.o)
webrtc::ProcessThreadImpl::DeRegisterModule(webrtc::Module const*) in libEaseMobClientSDK.a(process_thread_impl.o)
webrtc::AudioConferenceMixerImpl::UpdateToMix(std::list >*, std::list >*, std::map, std::allocator > >*, unsigned long&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::SetMixabilityStatus(webrtc::MixerParticipant&, bool) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::SetAnonymousMixabilityStatus(webrtc::MixerParticipant&, bool) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::MemoryPoolImpl::PopMemory(webrtc::AudioFrame*&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::MemoryPoolImpl::Terminate() in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
...
"std::_Rb_tree_rebalance_for_erase(std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)", referenced from:
webrtc::AudioConferenceMixerImpl::UpdateToMix(std::list >*, std::list >*, std::map, std::allocator > >*, unsigned long&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::BitrateControllerImpl::NormalRateAllocation(unsigned int, unsigned char, unsigned int, unsigned int) in libEaseMobClientSDK.a(bitrate_controller_impl.o)
webrtc::ReceiveStatisticsImpl::~ReceiveStatisticsImpl() in libEaseMobClientSDK.a(receive_statistics_impl.o)
webrtc::ReceiveStatisticsImpl::~ReceiveStatisticsImpl() in libEaseMobClientSDK.a(receive_statistics_impl.o)
non-virtual thunk to webrtc::ReceiveStatisticsImpl::~ReceiveStatisticsImpl() in libEaseMobClientSDK.a(receive_statistics_impl.o)
non-virtual thunk to webrtc::ReceiveStatisticsImpl::~ReceiveStatisticsImpl() in libEaseMobClientSDK.a(receive_statistics_impl.o)
webrtc::RTPPayloadRegistry::~RTPPayloadRegistry() in libEaseMobClientSDK.a(rtp_payload_registry.o)
...
"std::ostream::operator<<(int)", referenced from:
webrtc::VoEBaseImpl::Init(webrtc::AudioDeviceModule*, webrtc::AudioProcessing*) in libEaseMobClientSDK.a(voe_base_impl.o)
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::voe::TransmitMixer::ProcessAudio(int, int, int, bool) in libEaseMobClientSDK.a(transmit_mixer.o)
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::FilePlayerImpl::Get10msAudioFromFile(short*, int&, int) in libEaseMobClientSDK.a(file_player_impl.o)
...
"std::_List_node_base::hook(std::_List_node_base*)", referenced from:
webrtc::AudioProcessingImpl::AudioProcessingImpl(webrtc::Config const&) in libEaseMobClientSDK.a(audio_processing_impl.o)
webrtc::ProcessThreadImpl::RegisterModule(webrtc::Module*) in libEaseMobClientSDK.a(process_thread_impl.o)
webrtc::AudioConferenceMixerImpl::Process() in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::UpdateToMix(std::list >*, std::list >*, std::map, std::allocator > >*, unsigned long&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::GetAdditionalAudio(std::list >*) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::ClearAudioFrameList(std::list >*) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::SetMixabilityStatus(webrtc::MixerParticipant&, bool) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
...
"std::basic_stringbuf, std::allocator >::str() const", referenced from:
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.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)
"std::ios_base::~ios_base()", referenced from:
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.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(audio_conference_mixer_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::_Rb_tree_iterator >, std::pair const&) in libEaseMobClientSDK.a(bitrate_controller_impl.o)
std::_Rb_tree, std::_Select1st >, std::less, std::allocator > >::_M_insert_unique(std::pair const&) in libEaseMobClientSDK.a(bitrate_controller_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::ios_base::Init::~Init()", referenced from:
__GLOBAL__I_a in libEaseMobClientSDK.a(webrtc_voiceengine.o)
"std::ios_base::ios_base()", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
"std::string::_Rep::_S_empty_rep_storage", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)
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)
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.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)
...
"std::locale::~locale()", referenced from:
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.o)
"vtable for std::basic_ios >", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"std::basic_string, std::allocator >::basic_string(char const*, unsigned long, std::allocator const&)", referenced from:
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
"vtable for std::basic_ostringstream, std::allocator >", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"vtable for std::basic_streambuf >", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.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)
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"std::basic_ios >::clear(std::_Ios_Iostate)", referenced from:
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::RtpReceiverImpl::RegisterReceivePayload(char const*, signed char, unsigned int, unsigned char, unsigned int) in libEaseMobClientSDK.a(rtp_receiver_impl.o)
webrtc::FileRecorderImpl::StartRecordingAudioFile(char const*, webrtc::CodecInst const&, unsigned int, webrtc::ACMAMRPackingFormat) in libEaseMobClientSDK.a(file_recorder_impl.o)
webrtc::RTPReceiverAudio::InvokeOnInitializeDecoder(webrtc::RtpFeedback*, int, signed char, char const*, webrtc::PayloadUnion const&) const in libEaseMobClientSDK.a(rtp_receiver_audio.o)
"vtable for std::basic_stringbuf, std::allocator >", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.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)
NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
"std::ostream& std::ostream::_M_insert(unsigned long)", referenced from:
webrtc::ModuleRtpRtcpImpl::SetMaxTransferUnit(unsigned short) in libEaseMobClientSDK.a(rtp_rtcp_impl.o)
webrtc::NACKStringBuilder::PushNACK(unsigned short) 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::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::SendSideBandwidthEstimation::CapBitrateToThresholds() in libEaseMobClientSDK.a(send_side_bandwidth_estimation.o)
webrtc::RTPSender::SetMaxPayloadLength(unsigned short, unsigned short) in libEaseMobClientSDK.a(rtp_sender.o)
...
"std::_List_node_base::transfer(std::_List_node_base*, std::_List_node_base*)", referenced from:
webrtc::AudioConferenceMixerImpl::GetAdditionalAudio(std::list >*) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
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)
"std::string::_Rep::_M_destroy(std::allocator const&)", referenced from:
webrtc::LogMessage::~LogMessage() in libEaseMobClientSDK.a(logging.o)
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)
webrtc::RTCPSender::BuildNACK(unsigned char*, int&, int, unsigned short const*, std::string*) in libEaseMobClientSDK.a(rtcp_sender.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)
"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::_Rb_tree_increment(std::_Rb_tree_node_base const*)", referenced from:
webrtc::ReceiveStatisticsImpl::GetActiveStatisticians() const in libEaseMobClientSDK.a(receive_statistics_impl.o)
webrtc::RTPPayloadRegistry::ReceivePayloadType(char const*, unsigned int, unsigned char, unsigned int, signed char*) const in libEaseMobClientSDK.a(rtp_payload_registry.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)
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)
...
"std::_Rb_tree_increment(std::_Rb_tree_node_base*)", referenced from:
webrtc::VoiceEngineImpl::~VoiceEngineImpl() in libEaseMobClientSDK.a(voice_engine_impl.o)
webrtc::AudioProcessing::Create() in libEaseMobClientSDK.a(audio_processing_impl.o)
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::AudioConferenceMixerImpl::Init() in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::Process() in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
webrtc::AudioConferenceMixerImpl::UpdateToMix(std::list >*, std::list >*, std::map, std::allocator > >*, unsigned long&) in libEaseMobClientSDK.a(audio_conference_mixer_impl.o)
...
"std::basic_ios >::init(std::basic_streambuf >*)", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
"std::basic_stringbuf, std::allocator >::_M_sync(char*, unsigned long, unsigned long)", referenced from:
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.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::ios_base::Init::Init()", referenced from:
__GLOBAL__I_a in libEaseMobClientSDK.a(webrtc_voiceengine.o)
"std::basic_ostream >& std::__ostream_insert >(std::basic_ostream >&, char const*, long)", referenced from:
webrtc::VoEAudioProcessingImpl::SetTypingDetectionStatus(bool) in libEaseMobClientSDK.a(voe_audio_processing_impl.o)
webrtc::VoEAudioProcessingImpl::TimeSinceLastTyping(int&) in libEaseMobClientSDK.a(voe_audio_processing_impl.o)
webrtc::VoEAudioProcessingImpl::SetTypingDetectionParameters(int, int, int, int, int) in libEaseMobClientSDK.a(voe_audio_processing_impl.o)
webrtc::VoEBaseImpl::Init(webrtc::AudioDeviceModule*, webrtc::AudioProcessing*) in libEaseMobClientSDK.a(voe_base_impl.o)
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::AudioProcessingImpl::ProcessStream(webrtc::AudioFrame*) in libEaseMobClientSDK.a(audio_processing_impl.o)
webrtc::voe::TransmitMixer::ProcessAudio(int, int, int, bool) in libEaseMobClientSDK.a(transmit_mixer.o)
...
"std::locale::locale()", referenced from:
webrtc::LogMessage::LogMessage(char const*, int, webrtc::LoggingSeverity) in libEaseMobClientSDK.a(logging.o)
webrtc::NACKStringBuilder::NACKStringBuilder() in libEaseMobClientSDK.a(rtcp_sender.o)
ld: symbol(s) not found for architecture arm64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

已邀请:
看起来是没找到c++的依赖库。
试试在依赖库那里加上stdc++6.0.9
这个库导了吗libstdc++.6.0.9.dylib
原来是要再引用个libstdc++.6.0.9.dylib呀!谢谢啦!

要回复问题请先登录注册