适用于iOS的MobileVLCKit无法构建(pod和Framework)

问题描述 投票:4回答:2

在构建包含MobileVLCKit的项目时,构建失败,并出现“架构arm64的未定义符号”中的76-100个错误:

前几个例如:

"std::runtime_error::runtime_error(std::string const&)", referenced from:
      libebml::CRTError::CRTError(std::string const&, int) in MobileVLCKit(StdIOCallback.o)
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      libebml::IOCallback::writeFully(void const*, unsigned long) in MobileVLCKit(IOCallback.o)
      libebml::IOCallback::readFully(void*, unsigned long) in MobileVLCKit(IOCallback.o)
  "std::basic_ios<char, std::char_traits<char> >::widen(char) const", referenced from:
      dash::mpd::Representation::contextualize(unsigned long, std::string const&, adaptative::playlist::BaseSegmentTemplate const*) const in MobileVLCKit(libdash_plugin_la-Representation.o)

这可以从cocoapod和从这里下载的框架中发生:http://nightlies.videolan.org/build/ios/

这里的错误不会在他们的示例项目中复制:http://feepk.net/2014/12/02/mobilevlckit-and-vlckit-part-1/

我检查了所有链接的库和链接器标志,一切似乎都是有序的。思考?

ios cocoapods vlc undefined-symbol
2个回答
10
投票

在查看了对帖子的评论之后我发现了问题 - 由于iOS 6.1和7.0中使用的C ++运行时的更改,部署目标必须设置为6.1。

我会留下这个以防其他人遇到这个问题。

如果您不想更改部署目标,还可以添加一个空的.mm文件以强制Xcode与C ++链接(通过here


2
投票

我通过用libstdc ++。6.0.9.dylib替换libstdc ++。dylib解决了这个问题。可以通过这种方式将部署目标设置为所需版本。 (Reference Link: Chinese blog

© www.soinside.com 2019 - 2024. All rights reserved.