FFmpeg在MAC调试运行

30次阅读

共计 686 个字符,预计需要花费 2 分钟才能阅读完成。

不管是在使用 FFmpeg 时,或者学习 FFmpeg 的源码时,能调试跟踪代码,都是非常方便的。然而,跟无数的开源库一样,ffmpeg 是用 makefile 来管理的,并不能直接生成 xcode 的项目。

好在 Xcode 提供了一个 External Build 的功能。操作流程如下:

  • 新建一个 External Build System 的空项目 ffmpeg。
New->Project->Cross-platform->External Build System

  • 在 Info 栏填写 ffmpeg 库的地址
  • 导入源代码

  • 构建 ffmpeg 项目

去 ffmpeg 源码目录,按需求配置./configure。为了调试,需要在参数里增加--enable-debug=3 --disable-optimizations --disable-asm --disable-stripping。然后在 Xcode 中像普通项目一样构建。

注:我测试的时候直接构建报了一个错,然后去 ffmpeg 目录下 make 一次,成功之后,再重新构建 OK 了。不确定这一步是否必须。

  • 新建测试项目 FFmpegTest,加入同一个 workspace。这样放:

并设置 FFmpegTest 依赖项目 ffmpeg。

设置 FFmpetTest 依赖 ffmpeg 的库。ffmpeg 生成的库在各个模块的 libxxx 目录下。
并配置 FFmpegTest 的 include,lib 路径。

由于依赖的静态库,还需要添加 ffmpeg 依赖的系统库(红框部分)。

  • 效果

现在可以调试了,亲测,可以单步跟踪,可以断点。不过无法通过跳转找到代码。

参考文章:
xcode5 导入 makefile
ffmpeg 编译时保留调试信息

正文完
 0