VLCKit与iOS项目中的.mm文件冲突

时间:2014-12-19 03:51:24

标签: c++ ios xcode vlc libvlc

我在iOS项目中使用VLCKit(MobileVLCKit.framework)。起初一切都运作良好。然后我添加一些C ++代码,所以一些文件是.mm文件。当我编译时,它失败了。 Xcode日志

Undefined symbols for architecture armv7:
  "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)
  "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)
      "VTT for std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
...

我不知道为什么以及如何解决这个问题。

1 个答案:

答案 0 :(得分:5)

我找到了解决方案:在构建设置中将C ++标准库更改为libstdc ++(GNU c ++标准库)。