我正在尝试运行我从github here下载的iOS应用程序。我收到Mach-O Linker错误。我在网上搜索过但我一无所获。
我已在Build Target中添加了所有必需的库。错误堆栈就像这样
Undefined symbols for architecture i386:
"_CMAudioFormatDescriptionGetStreamBasicDescription", referenced from:
-[FDWaveformView renderPNGAudioPictogramLogForAsset:done:] in FDWaveformView.o
"_CMBlockBufferCopyDataBytes", referenced from:
-[FDWaveformView renderPNGAudioPictogramLogForAsset:done:] in FDWaveformView.o
"_CMBlockBufferGetDataLength", referenced from:
-[FDWaveformView renderPNGAudioPictogramLogForAsset:done:] in FDWaveformView.o
"_CMSampleBufferGetDataBuffer", referenced from:
-[FDWaveformView renderPNGAudioPictogramLogForAsset:done:] in FDWaveformView.o
"_CMSampleBufferInvalidate", referenced from:
-[FDWaveformView renderPNGAudioPictogramLogForAsset:done:] in FDWaveformView.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
也许这是一个愚蠢的答案/问题,但您确实已经确定添加了CoreMedia
框架并且它已在您的项目中链接?
编辑:
需要使用Xcode 4.6添加CoreMedia Framework并将故事板设置为与Xcode 4.6兼容。
使用Xcode 5,项目编译没有问题。
答案 1 :(得分:-1)
我已成功解决了这个问题。我正在使用旧版本的XCode,而项目期待XCode 5.我已将操作系统升级到Mac OS Mavericks,将我的XCode升级到Xcode 5,然后一切正常。