FFmpeg在MAC調試運行

無論是在使用FFmpeg時,或者學習FFmpeg的源碼時,能調試跟蹤代碼,都是很是方便的。然而,跟無數的開源庫同樣,ffmpeg是用makefile來管理的,並不能直接生成xcode的項目。xcode

好在Xcode提供了一個External Build的功能。操做流程以下:學習

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

WeChat89766cca4901f11daed2fbba5b1db633.png

  • 在Info欄填寫ffmpeg庫的地址WeChat01f4029edce2250b6a1a49f59f794b6e.png
  • 導入源代碼

WeChat5e413e1eba2ded015c76b5c8fc35c12b.png

  • 構建ffmpeg項目

去ffmpeg源碼目錄,按需求配置./configure。爲了調試,須要在參數裏增長--enable-debug=3 --disable-optimizations --disable-asm --disable-stripping。而後在Xcode中像普通項目同樣構建。測試

注:我測試的時候直接構建報了一個錯,而後去ffmpeg目錄下make一次,成功以後,再從新構建OK了。不肯定這一步是否必須。ui

  • 新建測試項目FFmpegTest,加入同一個workspace。這樣放:

WeChat4b36564afd7c9cda29e3666532767cf5.png

並設置FFmpegTest依賴項目ffmpeg。
WeChat48bbb3594e7f129f7872d491bbabbb82.png
設置FFmpetTest依賴ffmpeg的庫。ffmpeg生成的庫在各個模塊的libxxx目錄下。
並配置FFmpegTest的include,lib路徑。
WeChatf82e790efc92e6e1df47b6fb3c46493f.pngspa

因爲依賴的靜態庫,還須要添加ffmpeg依賴的系統庫(紅框部分)。
WeChateb08257851959dd1bcb6366b4d50d44a.png.net

  • 效果

如今能夠調試了,親測,能夠單步跟蹤,能夠斷點。不過沒法經過跳轉找到代碼。debug

參考文章:
xcode5 導入 makefile
ffmpeg編譯時保留調試信息調試

相關文章
相關標籤/搜索