ios - OpenTok (iOS) v2.4.0(64 位)——架构 armv7 的 undefined symbol

标签 ios xcode6 armv7 arm64 opentok

我正在尝试升级到最新版本的 OpenTok iOS SDK。但是,我不断收到大量链接错误,如下所示。好像这个最新版本不支持armv7。

Undefined symbols for architecture armv7:
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(short)", referenced from:
webrtc::NetEqImpl::DecodeLoop(std::__1::list<webrtc::Packet*, std::__1::allocator<webrtc::Packet*> >*, webrtc::Operations*, webrtc::AudioDecoder*, int*, webrtc::AudioDecoder::SpeechType*) in OpenTok(neteq.neteq_impl.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >* rtc::MakeCheckOpString<int, short>(int const&, short const&, char const*) in OpenTok(neteq.audio_decoder_impl.o)
"void std::__1::__sort<std::__1::__less<unsigned char, unsigned char>&, unsigned char*>(unsigned char*, unsigned char*, std::__1::__less<unsigned char, unsigned char>&)", referenced from:
webrtc::Sort(void*, unsigned int, webrtc::Type) in OpenTok(system_wrappers.sort.o)
void boost::detail::spread_sort_rec<unsigned char*, int, unsigned char>(unsigned char*, unsigned char*, std::__1::vector<unsigned char*, std::__1::allocator<unsigned char*> >&, unsigned int, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >&) in OpenTok(system_wrappers.sort.o)
"void std::__1::__sort<std::__1::__less<unsigned short, unsigned short>&, unsigned short*>(unsigned short*, unsigned short*, std::__1::__less<unsigned short, unsigned short>&)", referenced from:
webrtc::Sort(void*, unsigned int, webrtc::Type) in OpenTok(system_wrappers.sort.o)
void boost::detail::spread_sort_rec<unsigned short*, int, unsigned short>(unsigned short*, unsigned short*, std::__1::vector<unsigned short*, std::__1::allocator<unsigned short*> >&, unsigned int, std::__1::vector<unsigned long, std::__1::allocator<unsigned long> >&) in OpenTok(system_wrappers.sort.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(unsigned long, char)", referenced from:
rtc::HttpParseAttributes(char const*, unsigned long, std::__1::vector<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) in OpenTok(rtc_base.httpcommon.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned long long)", referenced from:
webrtc::WebRtcSession::WebRtcSession(cricket::ChannelManager*, rtc::Thread*, rtc::Thread*, cricket::PortAllocator*, webrtc::MediaStreamSignaling*) in OpenTok(libjingle_peerconnection.webrtcsession.o)
cricket::Connection::ToString() const in OpenTok(rtc_p2p.port.o)
webrtc::WebRtcSessionDescriptionFactory::InternalCreateOffer(webrtc::CreateSessionDescriptionRequest) in OpenTok(libjingle_peerconnection.webrtcsessiondescriptionfactory.o)
webrtc::WebRtcSessionDescriptionFactory::InternalCreateAnswer(webrtc::CreateSessionDescriptionRequest) in OpenTok(libjingle_peerconnection.webrtcsessiondescriptionfactory.o)

但是,lipo 命令确认该框架确实支持 armv7 和 arm64 架构:

$> lipo -info OpenTok.framework/OpenTok
Architectures in the fat file: OpenTok.framework/OpenTok are: armv7 armv7s i386 x86_64 arm64

我已无计可施,如有任何帮助,我们将不胜感激。

谢谢!

最佳答案

好的,由于 OpenTok 支持团队的及时响应,我解决了这个问题!我也在他们的支持论坛上发布了同样的问题。 ( https://forums.tokbox.com/post55977 )

这是对我有用的解决方案(从上面的链接逐字记录)

What are your Build settings? armv7 is supported.

also make sure that you have added the new lib/frameworks as follows:

- Add VideoToolbox.framework.
- Remove libstdc++ and add libc++
- add GLKit.framework (if not there previously)

我的框架列表中缺少上述几个文件。我附上了完整列表的屏幕截图,以防其他人遇到同样的问题。

我在这上面浪费了将近 6 个小时!! :(

enter image description here

关于ios - OpenTok (iOS) v2.4.0(64 位)——架构 armv7 的 undefined symbol ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28775387/

相关文章:

ios - ZBar:架构 armv7 的 undefined symbol

c# - MonoTouch 对话框 StringElements 可变单元格高度

ios - iCloud:是否可以将 KVS 用于自定义对象?

ios - Xcode 6 在使用 Swift 编码进行预测时添加了两个点(句点)

swift - 无法更改 Xcode 6 动态表中的行高

xcode4 - 恢复Xcode以接受armv6架构的方法?

iOS 为什么不能方法 collectionView :didSelectItemAtIndexPath: be called from UITapGestureRecognizer?

ios - 如何从另一个 ViewController 更新 UILabel

ios - XCode 6.0.1 上的 Apple Mach-O 链接器错误

assembly - GNU 作为 : how to load a . bss/.data 符号到寄存器?