不管是在使用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依赖的系统库(红框部分)。
- 效果
现在可以调试了,亲测,可以单步跟踪,可以断点。不过无法通过跳转找到代码。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。