iOS8/Swift 并且 MobileVLCKit 构建失败

iOS8/Swift and MobileVLCKit build fails

我在使用 MobileVLCKit 和 cocoapods 构建我的项目时遇到了一些困难。 在不添加任何 VLCKit 代码的情况下,我在模拟器或设备上构建应用程序时遇到错误。

Pod 文件:

platform :ios, '8.0'

target 'VLCKitTest' do
  pod 'MobileVLCKit'
end

这是我得到的错误

Undefined symbols for architecture arm64:
  "std::runtime_error::runtime_error(std::string const&)", referenced from:
      libebml::CRTError::CRTError(std::string const&, int) in MobileVLCKit(StdIOCallback.o)
  "std::ostream& std::ostream::_M_insert<void const*>(void const*)", referenced from:
      libebml::IOCallback::writeFully(void const*, unsigned long) in MobileVLCKit(IOCallback.o)
      libebml::IOCallback::readFully(void*, unsigned long) in MobileVLCKit(IOCallback.o)

      [...]

我的部署目标是 8.0。 我在调试中将 "Build Active Architecture Only" 设置为 YES。

非常感谢您的帮助!

在构建设置中将 C++ 标准库更改为 libstdc++。

我终于成功地使用 OS X 和 iOS 的 VLC 首席开发人员 Felix Paul Kühne 特别 iOS8 编译的库版本编译了我的项目。

查看讨论接近尾声的link:

https://forum.videolan.org/viewtopic.php?f=36&t=128011&p=430329#p430329

除了做 Mukesh Thawani 所说的;

Change C++ Standard Library to libstdc++ in the Build Settings.

我还需要在 Build Phases -> [ 中添加 libstdc++.6.tbd 二进制文件=29=] 带库的二进制文件.

这对我有用iOS 9.0