0

我需要将 FFMPEG 的库(libavformat、libavcodec 等)链接到我的项目。我已经下载了 iFrameExtractor 项目作为示例,并成功构建了它。

xcode-proj 可以正常打开,示例应用程序也可以正常工作,所以我只是将这个项目中的库带到了我的项目中。但是xcode无法构建它,说我

  Undefined symbols for architecture armv7:
  "av_register_all()", referenced from:

我检查了目标设置,我看不出我的项目设置和 iFrameExtractor 之间有什么区别。我刚刚将所有 ffmpeg 文件夹移动到我的项目文件夹中。

笔记:

1) nm 命令告诉我这个符号在库中。

2)库是胖文件,包括i386、armv6、armv7架构。

请帮助我,我做错了什么?

4

1 回答 1

1

我昨天刚经历过这个:-)

在 xcode 中,您需要将 .a 文件添加到项目中的链接库列表中。最简单的方法是将 .a 直接拖到左侧导航区域中的项目条目上:

通过拖放添加库。

或者,您可以从项目编辑器摘要区域的对话框中选择它们:

通过选择添加库

只需确保选择实际的 .a 文件,而不是整个文件夹。然后,只需导入它们的标题(正如您可能已经在做的那样......),您应该很高兴:-)

于 2012-07-06T13:55:35.000 回答