在构建包含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/
我已经检查了所有链接的库和链接器标志,所有内容似乎都是有序的。想法?
答案 0 :(得分:10)
在查看了对帖子的评论之后我发现了问题 - 由于iOS 6.1和7.0中使用的C ++运行时发生了变化,部署目标必须设置为6.1。
如果其他人遇到此问题,我会留下这个。
如果您不想更改部署目标,还可以添加空的.mm文件以强制Xcode与C ++链接(通过here)
答案 1 :(得分:2)
我用 libstdc ++。6.0.9.dylib 替换 libstdc ++。dylib 解决了这个问题。可以通过这种方式将部署目标设置为所需版本。 (Reference Link: Chinese blog)