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

VLCKit conflict with .mm file in iOS project

本文关键字:mm 文件 冲突 iOS 项目 VLCKit      更新时间:2023-10-16

我在我的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:
...

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

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