共计 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 编译时保留调试信息
正文完