IJKPlayer編譯FFmpeg時(shí)的遇到的問題

最近項(xiàng)目中需要用到播放器,所以接入了B站的IJKPlayer,但是在編譯時(shí)遇到了問題。執(zhí)行 ./compile-ffmpeg.sh?all 這一步時(shí)報(bào)錯(cuò),如下:


遇到的問題

原因是apple現(xiàn)在不允許32位的應(yīng)用上架AppStore了,弱化了對(duì)armv7的處理

arm64:iPhone6s?|?iphone6s?plus|iPhone6|?iPhone6?plus|iPhone5S?|?iPad?Air|?iPad?mini2(iPad?mini?with?Retina?Display)

armv7s:iPhone5|iPhone5C|iPad4(iPad?with?Retina?Display)

armv7:iPhone4|iPhone4S|iPad|iPad2|iPad3(The?New?iPad)|iPad?mini|iPod?Touch?3G|iPod?Touch4

i386是針對(duì)intel通用微處理器32位處理器

x86_64是針對(duì)x86架構(gòu)的64位處理器

模擬器32位處理器測(cè)試需要i386架構(gòu),

模擬器64位處理器測(cè)試需要x86_64架構(gòu),

真機(jī)32位處理器需要armv7,或者armv7s架構(gòu),

真機(jī)64位處理器需要arm64架構(gòu)。

解決方法是:

需要在?compile-ffmpeg.sh?刪除 armv7 , 修改方法如下:

刪除前的編譯腳本


刪除后的編譯腳本

也就是將 FF_ALL_ARCHS_IOS8_SDK="armv7?arm64?i386?x86_64" 改為?FF_ALL_ARCHS_IOS8_SDK="arm64?i386?x86_64"

接著重新執(zhí)行編譯ffmpeg的命令: ./compile-ffmpeg.sh?all

編譯完成接入到項(xiàng)目,編譯時(shí)報(bào)錯(cuò)

報(bào)錯(cuò)的地方

需要注釋兩個(gè)文件的引用代碼。兩個(gè)文件分別是avconfig.h和config.h

如果點(diǎn)擊報(bào)錯(cuò)的地方?jīng)]反應(yīng),全局搜索也找不到,那么你就需要直接到文件目錄去找了


avconfig.h Not Found

反鍵選擇Reveal in Log,根據(jù)路徑找到avconfig.h

直接打開,然后注釋掉# include "armv7/avconfig.h"


config.h也是同理


config.h Not Found


config.h

也是打開,然后注釋掉# include "armv7/config.h"


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容