2016-11-01 199 views
0

我有構建webRTC和我的應用程序通過另一個靜態庫即通過另一個靜態庫訪問WebRTC API。 LibB 當我和我的應用程序鏈接LibB並構建它,它失敗與下面的日誌: ****我建立的WebRTC針對AMD64/**的ARMv7架構爲arm64 未定義的符號:WebRTC與iOS應用程序集成

Undefined symbols for architecture arm64: 
    "webrtc::FIRFilterNEON::FIRFilterNEON(float const*, unsigned long, unsigned long)", referenced from: 
     webrtc::FIRFilter::Create(float const*, unsigned long, unsigned long) in LibB.a(fir_filter.o) 
    "vtable for webrtc::DenoiserFilterNEON", referenced from: 
     webrtc::DenoiserFilterNEON::DenoiserFilterNEON() in LibB.a(denoiser_filter.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "webrtc::SincResampler::Convolve_NEON(float const*, float const*, float const*, double)", referenced from: 
     webrtc::SincResampler::Resample(unsigned long, float*) in LibB.a(sinc_resampler.o) 
    "_WebRtcNsx_NoiseEstimationNeon", referenced from: 
     l008 in LibB.a(nsx_core.o) 
    "_SHA1_Final", referenced from: 
     _sctp_sha1_final in LibB.a(sctp_sha1.o) 
    "_EVP_MD_CTX_copy", referenced from: 
     _hmac_start in LibB.a(hmac_ossl.o) 
    "_EVP_DigestInit", referenced from: 
     l002 in LibB.a(hmac_ossl.o) 
    "_EVP_EncryptUpdate", referenced from: 
     _aes_icm_openssl_encrypt in LibB.a(aes_icm_ossl.o) 
    "_EVP_EncryptFinal_ex", referenced from: 
     _aes_icm_openssl_encrypt in LibB.a(aes_icm_ossl.o) 
    "_EVP_aes_256_ctr", referenced from: 
     _aes_icm_openssl_set_iv in LibB.a(aes_icm_ossl.o) 
    "_EVP_aes_128_ctr", referenced from: 
     _aes_icm_openssl_set_iv in LibB.a(aes_icm_ossl.o) 
    "_EVP_EncryptInit_ex", referenced from: 
     _aes_icm_openssl_set_iv in LibB.a(aes_icm_ossl.o) 
    "_EVP_aes_256_gcm", referenced from: 
     _aes_gcm_openssl_set_iv in LibB.a(aes_gcm_ossl.o) 
    "_EVP_DigestFinal", referenced from: 
     l004 in LibB.a(hmac_ossl.o) 
    "_EVP_aes_128_gcm", referenced from: 
     _aes_gcm_openssl_set_iv in LibB.a(aes_gcm_ossl.o) 
    "_EVP_CIPHER_CTX_cleanup", referenced from: 
     _aes_gcm_openssl_dealloc in LibB.a(aes_gcm_ossl.o) 
     _aes_gcm_openssl_context_init in LibB.a(aes_gcm_ossl.o) 
     _aes_icm_openssl_dealloc in LibB.a(aes_icm_ossl.o) 
     _aes_icm_openssl_context_init in LibB.a(aes_icm_ossl.o) 
    "_EVP_CIPHER_CTX_init", referenced from: 
     _aes_gcm_openssl_alloc in LibB.a(aes_gcm_ossl.o) 
     _aes_icm_openssl_alloc in LibB.a(aes_icm_ossl.o) 
    "google::protobuf::internal::WireFormatLite::WriteBytes(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::audioproc::ReverseStream::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(debug.pb.o) 
     webrtc::audioproc::Stream::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(debug.pb.o) 
    "google::protobuf::io::CodedInputStream::PopLimit(int)", referenced from: 
     bool google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<unsigned int, (google::protobuf::internal::WireFormatLite::FieldType)13>(google::protobuf::io::CodedInputStream*, google::protobuf::RepeatedField<unsigned int>*) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::rtclog::DecoderConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpHeaderExtension::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::EncoderConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::audioproc::Config::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(debug.pb.o) 
    "google::protobuf::internal::WireFormatLite::WriteInt32(int, int, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::rtclog::BwePacketLossEvent::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::DecoderConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpHeaderExtension::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtxConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtxMap::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoSendConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::EncoderConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::internal::WireFormatLite::WriteUInt32(int, unsigned int, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::rtclog::RtpPacket::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::BwePacketLossEvent::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoReceiveConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtxConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoSendConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioReceiveConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::internal::WireFormatLite::ReadBytes(google::protobuf::io::CodedInputStream*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)", referenced from: 
     webrtc::rtclog::RtpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     google::protobuf::internal::WireFormatLite::ReadString(google::protobuf::io::CodedInputStream*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::audioproc::ReverseStream::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(debug.pb.o) 
     webrtc::audioproc::Stream::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(debug.pb.o) 
    "google::protobuf::MessageLite::InitializationErrorString() const", referenced from: 
     vtable for webrtc::rtclog::EventStream in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::Event in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::RtpPacket in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::RtcpPacket in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::AudioPlayoutEvent in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::BwePacketLossEvent in LibB.a(rtc_event_log.pb.o) 
     vtable for webrtc::rtclog::VideoReceiveConfig in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::internal::ArenaStringPtr::AssignWithDefault(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*, google::protobuf::internal::ArenaStringPtr)", referenced from: 
     webrtc::rtclog::RtpPacket::MergeFrom(webrtc::rtclog::RtpPacket const&) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::MergeFrom(webrtc::rtclog::RtcpPacket const&) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::DecoderConfig::MergeFrom(webrtc::rtclog::DecoderConfig const&) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpHeaderExtension::MergeFrom(webrtc::rtclog::RtpHeaderExtension const&) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::EncoderConfig::MergeFrom(webrtc::rtclog::EncoderConfig const&) in LibB.a(rtc_event_log.pb.o) 
     webrtc::audioproc::ReverseStream::MergeFrom(webrtc::audioproc::ReverseStream const&) in LibB.a(debug.pb.o) 
     webrtc::audioproc::Stream::MergeFrom(webrtc::audioproc::Stream const&) in LibB.a(debug.pb.o) 
     ... 
    "google::protobuf::internal::WireFormatLite::WriteInt64(int, long long, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::rtclog::Event::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::io::CodedInputStream::DecrementRecursionDepthAndPopLimit(int)", referenced from: 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::RtpPacket>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtpPacket*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::RtcpPacket>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtcpPacket*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::AudioPlayoutEvent>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::AudioPlayoutEvent*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::BwePacketLossEvent>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::BwePacketLossEvent*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::VideoReceiveConfig>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::VideoReceiveConfig*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::VideoSendConfig>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::VideoSendConfig*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual<webrtc::rtclog::AudioReceiveConfig>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::AudioReceiveConfig*) in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::io::CodedInputStream::PushLimit(int)", referenced from: 
     bool google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<unsigned int, (google::protobuf::internal::WireFormatLite::FieldType)13>(google::protobuf::io::CodedInputStream*, google::protobuf::RepeatedField<unsigned int>*) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::io::CodedOutputStream::VarintSize64(unsigned long long)", referenced from: 
     google::protobuf::internal::WireFormatLite::Int64Size(long long) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::io::CodedOutputStream::WriteVarint32SlowPath(unsigned int)", referenced from: 
     google::protobuf::io::CodedOutputStream::WriteVarint32(unsigned int) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::internal::ArenaStringPtr::MutableNoArena(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)", referenced from: 
     webrtc::rtclog::EventStream::mutable_unknown_fields() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::Event::mutable_unknown_fields() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::mutable_header() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::mutable_unknown_fields() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::mutable_packet_data() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::mutable_unknown_fields() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::mutable_unknown_fields() in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::io::CodedOutputStream::WriteRaw(void const*, int)", referenced from: 
     webrtc::rtclog::EventStream::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::Event::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::BwePacketLossEvent::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoReceiveConfig::SerializeWithCachedSizes(google::protobuf::io::CodedOutputStream*) const in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::io::CodedInputStream::ReadLengthAndPushLimit()", referenced from: 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::Event>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::Event*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::RtxMap>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtxMap*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::RtpHeaderExtension>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtpHeaderExtension*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::DecoderConfig>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::DecoderConfig*) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::internal::LogMessage::operator<<(int)", referenced from: 
     l003 in LibB.a(rtc_event_log.pb.o) 
     l003 in LibB.a(debug.pb.o) 
    "google::protobuf::io::CodedInputStream::CheckEntireMessageConsumedAndPopLimit(int)", referenced from: 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::Event>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::Event*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::RtxMap>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtxMap*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::RtpHeaderExtension>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::RtpHeaderExtension*) in LibB.a(rtc_event_log.pb.o) 
     bool google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth<webrtc::rtclog::DecoderConfig>(google::protobuf::io::CodedInputStream*, webrtc::rtclog::DecoderConfig*) in LibB.a(rtc_event_log.pb.o) 
    "google::protobuf::io::CodedOutputStream::CodedOutputStream(google::protobuf::io::ZeroCopyOutputStream*, bool)", referenced from: 
     webrtc::rtclog::EventStream::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::Event::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::BwePacketLossEvent::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoReceiveConfig::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     ... 
    "google::protobuf::internal::ArenaStringPtr::DestroyNoArena(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const*)", referenced from: 
     webrtc::rtclog::EventStream::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::Event::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::BwePacketLossEvent::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoReceiveConfig::SharedDtor() in LibB.a(rtc_event_log.pb.o) 
     ... 
    "_SHA1_Init", referenced from: 
     _sctp_sha1_init in LibB.a(sctp_sha1.o) 
    "vtable for google::protobuf::MessageLite", referenced from: 
     google::protobuf::MessageLite::MessageLite() in LibB.a(rtc_event_log.pb.o) 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "google::protobuf::GoogleOnceInit(long*, void (*)())", referenced from: 
     webrtc::rtclog::protobuf_AddDesc_rtc_5fevent_5flog_2eproto() in LibB.a(rtc_event_log.pb.o) 
     webrtc::audioproc::protobuf_AddDesc_debug_2eproto() in LibB.a(debug.pb.o) 
    "google::protobuf::internal::OnShutdown(void (*)())", referenced from: 
     webrtc::rtclog::protobuf_AddDesc_rtc_5fevent_5flog_2eproto_impl() in LibB.a(rtc_event_log.pb.o) 
     webrtc::audioproc::protobuf_AddDesc_debug_2eproto_impl() in LibB.a(debug.pb.o) 
    "google::protobuf::MessageLite::SerializeAsString() const", referenced from: 
     webrtc::AudioProcessingImpl::WriteConfigMessage(bool) in LibB.a(audio_processing_impl.o) 
    "google::protobuf::io::CodedOutputStream::VarintSize32Fallback(unsigned int)", referenced from: 
     google::protobuf::io::CodedOutputStream::VarintSize32(unsigned int) in LibB.a(rtc_event_log.pb.o) 
    "_WebRtcSpl_CrossCorrelationNeon", referenced from: 
     l004 in LibB.a(spl_init.o) 
    "google::protobuf::internal::WireFormatLite::SkipField(google::protobuf::io::CodedInputStream*, unsigned int, google::protobuf::io::CodedOutputStream*)", referenced from: 
     webrtc::rtclog::EventStream::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::Event::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::RtcpPacket::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::AudioPlayoutEvent::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::BwePacketLossEvent::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     webrtc::rtclog::VideoReceiveConfig::MergePartialFromCodedStream(google::protobuf::io::CodedInputStream*) in LibB.a(rtc_event_log.pb.o) 
     ... 
    "_X509_set_pubkey", referenced from: 
     l004 in LibB.a(opensslidentity.o) 
    "_WebRtcSpl_MinValueW16Neon", referenced from: 
     l004 in LibB.a(spl_init.o) 

我在解決這一..any幫助新來的WebRTC,並花更多的時間會非常理解

感謝

+0

請檢查它是否需要像音頻,視頻播放器和GLkit框架工作avfoundation框架也 –

回答

0

你必須產生在同一時間

對arm64和ARM架構使用這些命令:

gn gen out/Debug-device --args='target_os="ios" target_cpu="x64" is_component_build=false additional_target_cpus=["arm", "arm64"] enable_dsyms=true ios_enable_code_signing = false' 

ninja -C out/Debug-device rtc_sdk_framework_objc 
0

您是否嘗試過使用的CocoaPods?在我的項目中,我使用的是CocoaPods for WebRTC

簡單地說,在你的Podfile中,然後按pod install,你很好去!