免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

iOS FFmpeg一鍵編譯腳本:交叉編譯靜態(tài)庫實(shí)戰(zhàn)指南

iOS FFmpeg一鍵編譯腳本:交叉編譯靜態(tài)庫實(shí)戰(zhàn)指南 簡介面向 iOS 平臺音視頻開發(fā)者的自動(dòng)編譯腳本資源解決手動(dòng)下載 ffmpeg、x264、fdk-aac、lame 源碼并逐一配置交叉編譯環(huán)境所帶來的流程繁瑣、版本匹配易錯(cuò)等問題。尤其適合需要為 iOS 應(yīng)用集成自定義音視頻編解碼能力、希望快速生成靜態(tài)庫的開發(fā)者使用。壓縮包共 4 個(gè)文件全部為 shell 腳本整體大小僅 8KB輕量且便于查看和改動(dòng)各腳本分工明確分別處理對應(yīng)開源庫的下載、參數(shù)配置與編譯在主腳本統(tǒng)一調(diào)度下可一鍵執(zhí)行完整流程最終產(chǎn)出 fdk-aac-ios、lame-ios、x264-ios、FFmpeg-iOS 等可直接鏈接進(jìn)工程的靜態(tài)庫目錄。目前已有 344 人學(xué)習(xí)下載。該腳本不僅給出了可直接運(yùn)行的編譯方案還展示了 iOS 平臺交叉編譯中常見的架構(gòu)選擇、參數(shù)傳遞、模塊裁剪等關(guān)鍵細(xì)節(jié)復(fù)用價(jià)值較高后續(xù)需要擴(kuò)展其他音視頻組件時(shí)也可參考其中的組織與排錯(cuò)思路。1. 先說清楚這個(gè)標(biāo)題在解決什么問題開 iOS 音視頻方向的開發(fā)者十有八九會(huì)卡在同一個(gè)地方工程里缺一個(gè)能用的 FFmpeg。源碼下載容易但在 iOS 平臺把它編成 .a 靜態(tài)庫還得帶上 x264、fdk-aac、lame 三個(gè)外圍庫手動(dòng)敲 configure 和 make快則半天慢則兩三天。標(biāo)題里這個(gè)「一鍵自動(dòng)下載并編譯腳本.sh」干的就是把下載源碼、配置交叉編譯環(huán)境、按依賴順序編四個(gè)庫、最后合并多架構(gòu)靜態(tài)庫這幾步串成一個(gè)腳本省掉人肉敲命令的重復(fù)勞動(dòng)。這類腳本真正解決的不是「能不能編譯成功」而是「換臺機(jī)器、換個(gè) Xcode 版本之后還能不能穩(wěn)定復(fù)現(xiàn)」。我見過太多人第一次手動(dòng)編譯僥幸成功第二次在新環(huán)境里直接翻車。適用人群很明確做播放器、做音視頻剪輯、做直播前處理的 iOS 開發(fā)。如果你只想要編譯好的庫第 3、4 章的腳本結(jié)構(gòu)能直接抄如果你正被各種編譯報(bào)錯(cuò)折磨第 5 章每一條都是真實(shí)的踩坑記錄。2. iOS 交叉編譯的原理先弄清楚腳本每一步在干什么2.1 iOS 交叉編譯和 Linux 本地編譯差在哪FFmpeg 在 macOS 或 Linux 上很好編一個(gè)./configure make就完事。但在 iOS 上事情變復(fù)雜的原因有三個(gè)iOS SDK 里只有 clang 工具鏈沒有 GNU gcc系統(tǒng)庫被封裝成 framework第三方庫只能編靜態(tài)庫由 Xcode 鏈接arm64 架構(gòu)的匯編代碼需要 gas-preprocessor 做預(yù)處理。這三個(gè)差異決定了一鍵腳本里必須顯式指定CC、SDK_PATH、ARCH全套環(huán)境變量。腳本開頭的環(huán)境變量導(dǎo)出是所有后續(xù)編譯命令的地基。我這邊常用的寫法是export MIN_IOS_VERSION10.0 export SDK_NAMEiphoneos # 真機(jī)模擬器請換成 iphonesimulator export SDK_PATH$(xcrun --sdk $SDK_NAME --show-sdk-path) export CC$(xcode-select -p)/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang export CFLAGS-arch $ARCH -isysroot $SDK_PATH -mios-version-min$MIN_IOS_VERSION export LDFLAGS-arch $ARCH -isysroot $SDK_PATH -mios-version-min$MIN_IOS_VERSION export HOST_TRIPLE$ARCH-apple-darwinSDK_PATH指向當(dāng)前 Xcode 對應(yīng)的 SDK 根目錄clang 靠-isysroot才能找到 UIKit、CoreMedia 這些 iOS 系統(tǒng)頭文件和 framework。-mios-version-min決定這個(gè)庫最低能跑在哪個(gè)系統(tǒng)版本上低于這個(gè)版本的手機(jī)會(huì)在啟動(dòng)時(shí)直接 dyld 報(bào)錯(cuò)。CFLAGS里必須帶-arch否則 clang 默認(rèn)編出的是 macOS 的 x86_64 產(chǎn)物。這個(gè)環(huán)境塊在腳本里通常會(huì)包成一個(gè)函數(shù)每切換一個(gè)架構(gòu)就重新導(dǎo)出一次。2.2 依賴順序?yàn)槭裁?FFmpeg 必須最后一個(gè)編四個(gè)庫之間的依賴關(guān)系是單向的x264、fdk-aac、lame 各自只依賴系統(tǒng)庫互不依賴而 FFmpeg 需要通過 pkg-config 探測前三個(gè)庫的頭文件和pc文件把它們編譯進(jìn) avcodec。所以順序上只需要保證一點(diǎn)FFmpeg 一定是最后一個(gè)。實(shí)際操作里大家習(xí)慣把 lame 放在第一個(gè)。原因不是它最基礎(chǔ)而是它的 configure 腳本在 iOS 交叉編譯場景下最容易出幺蛾子先編它能盡早暴露環(huán)境問題。x264 和 fdk-aac 的 configure 相對老實(shí)放中間編比較省心。三個(gè)前置庫都要裝到同一個(gè)PREFIX目錄里這樣 FFmpeg configure 只需要把PKG_CONFIG_PATH指向那一個(gè)目錄就能同時(shí)找到三個(gè)庫。這個(gè)統(tǒng)一前綴的做法省掉了很多路徑拼接的麻煩。2.3 靜態(tài)庫與架構(gòu)arm64、armv7、x86_64 具體怎么選iOS 從 11 開始就只支持 64 位設(shè)備了armv7 已經(jīng)是歷史包袱。當(dāng)前最穩(wěn)妥的組合是真機(jī)架構(gòu)只編 arm64模擬器架構(gòu)編 x86_64如果團(tuán)隊(duì)里有 Apple Silicon 芯片的 Mac模擬器還要額外編一份 arm64 的模擬器切片。三份切片生成后用 lipo 合并成一個(gè) fat 靜態(tài)庫。腳本里對應(yīng)的循環(huán)結(jié)構(gòu)一般長這樣ARCHS(arm64) # 真機(jī) if [ $BUILD_FOR_SIMULATOR 1 ]; then ARCHS(x86_64 arm64) # 模擬器x86_64 兜底舊 Mac fi for ARCH in ${ARCHS[]}; do export CFLAGS-arch $ARCH -isysroot $SDK_PATH -mios-version-min$MIN_IOS_VERSION export LDFLAGS-arch $ARCH -isysroot $SDK_PATH -mios-version-min$MIN_IOS_VERSION export PREFIX_DIR$BASE_DIR/build/$ARCH mkdir -p $PREFIX_DIR build_lame build_x264 build_fdk_aac build_ffmpeg done注意這里每個(gè)架構(gòu)有獨(dú)立的PREFIX_DIR這是有意為之。不同架構(gòu)的產(chǎn)物混在同一個(gè)目錄里FFmpeg configure 會(huì)挑到第一個(gè)匹配的.a文件編出來的庫架構(gòu)是錯(cuò)的而且極難排查。每架構(gòu)獨(dú)立目錄最后再合并是這類腳本必須遵守的紀(jì)律。3. 腳本開頭必做的三件事環(huán)境檢查、下載源碼、固定版本3.1 gas-preprocessor 與 pkg-config兩個(gè)最容易缺的東西FFmpeg 和 x264 源碼里有大量為 arm64 優(yōu)化的匯編iOS 交叉編譯時(shí)這些.S文件需要先經(jīng)過 gas-preprocessor 做宏處理再交給 clang 內(nèi)置的匯編器。沒裝它的話編譯到匯編環(huán)節(jié)必報(bào)Unable to find gas-preprocessor.pl。最穩(wěn)的安裝方式是從 FFmpeg 源碼樹里直接拷貝版本永遠(yuǎn)和源碼匹配# 先把 ffmpeg 源碼下載到 SRC_DIR再執(zhí)行這步 cp $SRC_DIR/ffmpeg-$FFMPEG_VERSION/tools/gas-preprocessor.pl /usr/local/bin/ chmod x /usr/local/bin/gas-preprocessor.plpkg-config 則是給 FFmpeg configure 用的。它負(fù)責(zé)回答「libx264 裝在哪個(gè)目錄、編譯需要什么 flag」這類問題。macOS 上自帶的 pkg-config 版本很舊容易漏掉.pc文件我一般會(huì)裝一個(gè)新版if ! command -v pkg-config /dev/null 21; then echo 缺少 pkg-config先執(zhí)行: brew install pkg-config exit 1 fi pkg-config --version腳本執(zhí)行到這里應(yīng)該停下來檢查一次而不是等到 FFmpeg configure 階段才報(bào)ERROR: libx264 not found。提前暴露環(huán)境問題能省下后面排查的半小時(shí)。3.2 源碼下載與版本固定不要每天拉最新 master一鍵腳本里最容易埋雷的是「下載最新代碼」。FFmpeg 官方倉庫每天都有新 commitx264 的 master 也在持續(xù)變動(dòng)今天能編過的組合下周可能因?yàn)橐粋€(gè)匯編改動(dòng)直接編譯失敗。所以腳本里一定要固定版本號并且把版本號集中寫在最頂部方便以后統(tǒng)一升級FFMPEG_VERSION4.4 # 以 4.4 分支為例按需固定 X264_VERSIONstable # x264 官方分支名 FDK_AAC_VERSION2.0.2 LAME_VERSION3.100 SOURCE_DIR$BASE_DIR/src PREFIX_BASE$BASE_DIR/build下載函數(shù)我一般這樣寫先檢查本地是否已經(jīng)解壓過沒有才去拉包避免重復(fù)下載。fetch_tarball() { local NAME$1 local URL$2 if [ ! -d $SOURCE_DIR/$NAME ]; then cd $SOURCE_DIR || exit 1 curl -L $URL -o $NAME.tar.gz tar -zxf $NAME.tar.gz fi } fetch_tarball x264-$X264_VERSION $X264_MIRROR_URL fetch_tarball lame-$LAME_VERSION $LAME_MIRROR_URL下載地址建議用你所在網(wǎng)絡(luò)環(huán)境訪問最快的鏡像國內(nèi)團(tuán)隊(duì)一般會(huì)在內(nèi)網(wǎng)架一個(gè)源碼鏡像。腳本里留出變量而不是寫死 URL一方面是方便換源另一方面也是避免把第三方倉庫地址寫進(jìn)團(tuán)隊(duì)公共腳本里造成安全隱患。curl下載后建議順手用sha256sum校驗(yàn)一下包完整性這一步能過濾掉大多數(shù)網(wǎng)絡(luò)傳輸損壞的問題。3.3 統(tǒng)一架構(gòu)循環(huán)與輸出目錄規(guī)劃下載完源碼后腳本會(huì)按 2.3 節(jié)的架構(gòu)列表做循環(huán)編譯。這里有一個(gè)很容易被忽略的細(xì)節(jié)四個(gè)庫在兩個(gè)架構(gòu)之間切換時(shí)必須使用完全獨(dú)立的編譯目錄。x264 和 lame 在重新 configure 之后如果不清除舊的.o文件鏈接階段就會(huì)混入上一架構(gòu)的產(chǎn)物報(bào)出Undefined symbols for architecture x86_64這種讓人摸不著頭腦的錯(cuò)誤。我建議源碼目錄共用一份但編譯安裝目錄按架構(gòu)隔離每次進(jìn)入某個(gè)庫的源碼目錄前先執(zhí)行一次make distclean。腳本里的目錄規(guī)劃通常是BASE_DIR$(cd $(dirname $0) pwd) SOURCE_DIR$BASE_DIR/src PREFIX_BASE$BASE_DIR/build # build/arm64、build/x86_64、build/universal 三層結(jié)構(gòu)最終build/universal/lib放 lipo 合并后的結(jié)果build/universal/include放頭文件。Xcode 集成時(shí)只需要引用這一個(gè)目錄不需要關(guān)心內(nèi)部有多少個(gè)架構(gòu)切片。4. 核心編譯流程四個(gè)庫逐個(gè) configure 的完整參數(shù)4.1 編譯 x264靜態(tài)庫 禁用 CLI性能與穩(wěn)定性之間留個(gè)開關(guān)x264 的 configure 參數(shù)相對簡單重點(diǎn)是把--prefix指向當(dāng)前架構(gòu)的安裝目錄并關(guān)閉命令行工具。命令行工具會(huì)依賴pthread等一堆東西在 iOS 上不需要build_x264() { cd $SOURCE_DIR/x264-$X264_VERSION || exit 1 make distclean /dev/null 21 # 上次編譯的殘留產(chǎn)物必須清掉 ./configure \ --prefix$PREFIX_DIR \ --host$HOST_TRIPLE \ --cross-prefix$CC $CFLAGS \ --extra-cflags$CFLAGS \ --extra-ldflags$LDFLAGS \ --enable-static \ --disable-shared \ --disable-cli \ --disable-opencl \ --disable-asm make -j${JOB_COUNT} make install }--cross-prefix這里直接復(fù)用了CC和CFLAGS這是 x264 configure 比較特殊的地方它不像 FFmpeg 那樣單獨(dú)讀--cc參數(shù)。--disable-asm值得單獨(dú)說arm64 的匯編優(yōu)化能帶來明顯編碼性能提升但需要 gas-preprocessor 正確工作。如果你的編譯機(jī)是某公司配發(fā)的安全加固系統(tǒng)perl環(huán)境被限制過gas-preprocessor 可能跑不起來這時(shí)候別死磕--disable-asm是保底方案。腳本里我一般把這個(gè)參數(shù)做成變量X264_ASSEMBLY默認(rèn)開啟失敗時(shí)手動(dòng)改為--disable-asm。4.2 編譯 fdk-aacmacOS 的 libtool 坑和 autogen 前置fdk-aac 是純 C 代碼configure 本身不復(fù)雜但它有兩個(gè)前置問題。第一如果拉的是 git 源碼而不是 release 包目錄里沒有 configure必須先執(zhí)行./autogen.sh這要求機(jī)器裝了 automake 和 autoconf。第二macOS 的/usr/bin/libtool是 Apple 自己的實(shí)現(xiàn)不是 GNU libtoolfdk-aac 的構(gòu)建系統(tǒng)會(huì)用到 GNU libtool 的參數(shù)直接用 Apple 版 libtool 會(huì)在鏈接時(shí)出現(xiàn)詭異行為。build_fdk_aac() { cd $SOURCE_DIR/fdk-aac-$FDK_AAC_VERSION || exit 1 # git clone 的源碼要先跑 autogen.shrelease 包不用 [ ! -f configure ] ./autogen.sh # macOS 安裝 GNU libtool 后二進(jìn)制名被重命名為 glibtool LIBTOOL$(command -v glibtool) if [ -z $LIBTOOL ]; then echo 缺少 glibtool執(zhí)行: brew install libtool exit 1 fi export CC$CC $CFLAGS ./configure \ --prefix$PREFIX_DIR \ --host$HOST_TRIPLE \ --with-pic \ --disable-shared \ --enable-static \ LIBTOOL$LIBTOOL make -j${JOB_COUNT} make install }注意這里export CC$CC $CFLAGS是個(gè)土辦法。fdk-aac 的 configure 會(huì)把 CC 當(dāng)作一條完整的編譯命令執(zhí)行如果我們只給 clang 路徑它不會(huì)自己去讀CFLAGS。把架構(gòu)參數(shù)拼進(jìn) CC 是社區(qū)里最常見的繞行方案丑但有效。--with-pic是給靜態(tài)庫加位置無關(guān)代碼后續(xù)鏈接進(jìn) App 時(shí)需要這個(gè)屬性。4.3 編譯 lameconfigure 最脆弱需要 --build 參數(shù)兜底lame 是這幾個(gè)庫里 configure 寫得最老的它默認(rèn)會(huì)嘗試運(yùn)行剛編譯出來的測試程序來判斷編譯環(huán)境是否可用。交叉編譯時(shí)編譯出來的程序是 iOS 的跑在 macOS 上必然失敗configure 就直接判定「編譯器不可用」。解決辦法是顯式告訴 configure 兩個(gè)參數(shù)--build表示當(dāng)前這臺機(jī)器的環(huán)境--host表示目標(biāo)環(huán)境build_lame() { cd $SOURCE_DIR/lame-$LAME_VERSION || exit 1 make distclean /dev/null 21 ./configure \ --prefix$PREFIX_DIR \ --buildx86_64-apple-darwin \ --host$HOST_TRIPLE \ --disable-shared \ --enable-static \ --disable-frontend \ --disable-decoder \ --enable-nasm$([ $ARCH arm64 ] echo no || echo yes) make -j${JOB_COUNT} make install }--buildx86_64-apple-darwin是關(guān)鍵它告訴 configure「測試程序會(huì)在 x86_64 的 macOS 上被運(yùn)行」configure 就不會(huì)報(bào)cannot run C compiled programs。--disable-frontend去掉lame命令行工具--disable-decoder只保留編碼器。lame 的 MP3 解碼器代碼里用了不少 x86 內(nèi)聯(lián)匯編arm64 下編解碼器是最大踩坑點(diǎn)直接禁用是最省心的處理方式。4.4 編譯 FFmpeg把前三個(gè)庫通過 pkg-config 串起來前置庫都裝進(jìn)$PREFIX_DIR之后FFmpeg 的 configure 就順暢多了。關(guān)鍵是把PKG_CONFIG_PATH指過去讓探測邏輯能找到三個(gè)庫的.pc文件build_ffmpeg() { cd $SOURCE_DIR/ffmpeg-$FFMPEG_VERSION || exit 1 make distclean /dev/null 21 export PKG_CONFIG_PATH$PREFIX_DIR/lib/pkgconfig ./configure \ --prefix$PREFIX_DIR \ --cc$CC \ --arch$ARCH \ --target-osdarwin \ --sysroot$SDK_PATH \ --enable-cross-compile \ --extra-cflags$CFLAGS \ --extra-ldflags$LDFLAGS \ --enable-static \ --disable-shared \ --disable-doc \ --disable-programs \ --disable-debug \ --enable-gpl \ --enable-nonfree \ --enable-libx264 \ --enable-libfdk-aac \ --enable-libmp3lame make -j${JOB_COUNT} make install }--enable-gpl和--enable-nonfree必須同時(shí)開因?yàn)?fdk-aac 的許可證和 GPL 不兼容FFmpeg 的 configure 遇到這個(gè)組合會(huì)強(qiáng)制要求--enable-nonfree否則直接報(bào)許可證沖突。--disable-programs很重要iOS 上我們只需要靜態(tài)庫不需要 ffmpeg 命令行可執(zhí)行文件編了反而會(huì)在鏈接階段帶上 main 符號和 App 沖突。--disable-debug能明顯縮小 .a 文件體積但要注意上線后想定位 FFmpeg 內(nèi)部的崩潰棧時(shí)沒有調(diào)試符號會(huì)非常痛苦。我一般會(huì)保留 debug等優(yōu)化體積時(shí)再關(guān)。4.5 lipo 合并產(chǎn)物生成最終的 universal 靜態(tài)庫所有架構(gòu)編譯完成后最后一個(gè)動(dòng)作是合并。我習(xí)慣把 avcodec、avformat、avutil、swscale、swresample以及 x264、fdk-aac、lame 這八個(gè)庫各自做一次 lipoUNIVERSAL_DIR$BASE_DIR/build/universal mkdir -p $UNIVERSAL_DIR/lib for LIB in libavcodec.a libavformat.a libavutil.a libswscale.a libswresample.a libx264.a libfdk-aac.a libmp3lame.a; do FILES for ARCH in ${ARCHS[]}; do FILES$FILES $BASE_DIR/build/$ARCH/lib/$LIB done xcrun lipo -create $FILES -output $UNIVERSAL_DIR/lib/$LIB done cp -R $BASE_DIR/build/arm64/include $UNIVERSAL_DIR/提示頭文件隨便從哪個(gè)架構(gòu)目錄拷貝都可以頭文件不區(qū)分架構(gòu)但一定要保證版本和 .a 文件的源碼版本一致最忌諱的是頭文件用 FFmpeg 4.4庫卻編的是 4.2。很多一鍵腳本會(huì)再執(zhí)行一步「把八個(gè)庫用 libtool 合并成單個(gè) libffmpeg.a」我不建議這么干。合并之后任何一個(gè)小庫的更新都要全量重打包而且 Xcode 的鏈接器在處理超大靜態(tài)庫時(shí)偶爾會(huì)有符號沖突問題。分開引用八個(gè) .a維護(hù)成本低排查問題也更直接。5. 常見問題排查一鍵腳本最容易翻車的 5 個(gè)地方5.1 報(bào)錯(cuò) ERROR: libfdk_aac not found / libx264 not found現(xiàn)象FFmpeg configure 階段直接拒絕執(zhí)行明確說找不到某個(gè)前置庫。這個(gè)錯(cuò)大概率不是「沒編譯成功」而是「編譯好了但探測不到」。原因基本只有兩個(gè)PKG_CONFIG_PATH沒設(shè)置或者設(shè)置指向了別的架構(gòu)的build目錄。很多腳本在循環(huán)里會(huì)重新設(shè)置PREFIX_DIR但忘了同步更新PKG_CONFIG_PATH結(jié)果 x86_64 循環(huán)里讀到了 arm64 的.pc文件。解決在build_ffmpeg函數(shù)內(nèi)部重新 exportPKG_CONFIG_PATH$PREFIX_DIR/lib/pkgconfig并在 configure 前用pkg-config --exists fdk-aac echo ok自檢一遍。5.2 arm64 匯編編譯失敗gas-preprocessor.pl 找不到或權(quán)限問題現(xiàn)象編譯 x264 或 FFmpeg 時(shí)報(bào)Unable to find gas-preprocessor.pl或者perl: command not found。原因gas-preprocessor 沒裝或者它的依賴 perl 不可用。某公司加固過的開發(fā)機(jī)上/usr/local/bin的寫入權(quán)限被鎖定腳本里cp命令靜默失敗后續(xù)編譯到匯編時(shí)直接崩。解決不要把它當(dāng)作「裝完就不管」的依賴每次腳本運(yùn)行前檢查文件是否存在且可執(zhí)行如果perl被限制考慮用--disable-asm繞開匯編路徑x264 和 FFmpeg 都有這個(gè)開關(guān)性能略降但能保證編譯鏈路走通。5.3 模擬器鏈接報(bào)錯(cuò)building for iOS-Simulator, but linking in object file built for iOS現(xiàn)象Xcode 工程里鏈接靜態(tài)庫時(shí)報(bào)building for iOS-Simulator, but linking in object file built for iOS或者could not be built for architecture arm64。原因真機(jī) SDK 編出來的 arm64 切片和模擬器 SDK 的 arm64 切片不是同一種 Mach-O 平臺標(biāo)識。Apple Silicon Mac 上跑模擬器也需要 arm64但這個(gè) arm64 必須用iphonesimulatorSDK 來編。解決腳本里要支持兩套 SDK_NAME真機(jī)用iphoneos模擬器用iphonesimulator分別輸出到build/device-arm64和build/sim-arm64、build/sim-x86_64最后三合一。只做雙架構(gòu)arm64x86_64在 Intel Mac 上沒問題但在 Apple Silicon 上模擬器會(huì)優(yōu)先找 arm64 切片找不到才走 Rosetta這時(shí)候 x86_64 切片也能用但性能有損耗。5.4 bitcode 相關(guān)錯(cuò)誤bitcode bundle could not be generated現(xiàn)象Xcode 鏈接時(shí)提示某個(gè)庫缺少 bitcode或者反過來提示輸入的-fembed-bitcode與目標(biāo)設(shè)置不一致。原因老的編譯教程普遍讓腳本加-fembed-bitcode但 Xcode 14 之后 bitcode 已經(jīng)被官方廢棄新工程默認(rèn)不開。四個(gè)庫里有一個(gè)開了 bitcode、三個(gè)沒開鏈接器就罷工。解決最省事的是腳本里完全不傳-fembed-bitcode同時(shí)把 Xcode 工程的ENABLE_BITCODE設(shè)為 NO。如果你的團(tuán)隊(duì)還有老設(shè)備上架需求就保持一致要么四個(gè)庫都開要么都關(guān)不要混。5.5 Undefined symbols for architecture x86_64但明明編過這個(gè)架構(gòu)現(xiàn)象鏈接階段報(bào)找不到某個(gè)符號比如dequant_lut這類 lame 內(nèi)部函數(shù)而 lipo 查看 .a 確實(shí)包含 x86_64 切片。原因這個(gè)坑多半是復(fù)用源碼目錄導(dǎo)致的。lame 的 configure 在換架構(gòu)后沒有清理干凈舊架構(gòu)的.o還留在目錄里make 時(shí)跳過了部分文件的重編。解決在build_lame、build_x264的 configure 前無條件執(zhí)行make distclean /dev/null 21并把PREFIX_DIR按架構(gòu)徹底分離開。執(zhí)行完這步問題一般就消失了。如果還報(bào)錯(cuò)手動(dòng)刪掉源碼目錄重新解壓避免依賴增量編譯的緩存。6. 驗(yàn)證產(chǎn)物從 .a 文件到 Xcode 里真正跑起來靜態(tài)庫編完不能直接信第一步用 lipo 確認(rèn)每個(gè)庫的架構(gòu)列表xcrun lipo -info $BASE_DIR/build/universal/lib/libavcodec.a # 輸出應(yīng)包含 arm64 和模擬器需要的架構(gòu) xcrun lipo -info $BASE_DIR/build/universal/lib/libmp3lame.a第二步強(qiáng)烈建議寫一個(gè)最小測試程序驗(yàn)證頭文件和庫真的配套。先在 Xcode 工程里跑通播放本地文件是最貼近真實(shí)場景的驗(yàn)證。更輕量的做法是用模擬器編一個(gè) 20 行的 C 程序xcrun -sdk iphonesimulator clang -arch x86_64 \ test.c \ -I$BASE_DIR/build/universal/include \ -L$BASE_DIR/build/universal/lib \ -lavformat -lavcodec -lavutil -lswresample -lswscale \ -lx264 -lfdk-aac -lmp3lame \ -framework AudioToolbox -framework CoreMedia \ -framework VideoToolbox -framework Foundation \ -mios-simulator-version-min10.0 \ -o test_sim如果這個(gè)程序能編譯鏈接通過說明四個(gè)庫的符號表完整、頭文件版本匹配集成進(jìn) Xcode 只是時(shí)間問題。我在實(shí)際項(xiàng)目里習(xí)慣把這三個(gè)驗(yàn)證步驟放進(jìn)腳本的verify子命令每次重編后自動(dòng)執(zhí)行從源頭杜絕「編譯成功但鏈接翻車」的玄學(xué)問題。最后提醒一句能被忽略但早晚會(huì)來的一課x264 是 GPL 許可fdk-aac 是不允許商用分發(fā)的一類許可兩個(gè)庫同時(shí)編譯進(jìn)去的二進(jìn)制如果走公開渠道分發(fā)會(huì)有許可證風(fēng)險(xiǎn)。我現(xiàn)在的習(xí)慣是工程里拿這套腳本做技術(shù)驗(yàn)證和內(nèi)部預(yù)研正式產(chǎn)品若需要上架會(huì)把 x264 換掉或者對相關(guān)功能做動(dòng)態(tài)裁剪。這個(gè)決策越早定越好不要等庫已經(jīng)深度集成再后悔。希望這篇筆記能讓你少走幾趟編譯的彎路。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
久久人妻系列| 婷婷中文综合网| 婷婷六月色| 国产精品色色| 五月天婷五月天综合网小说首页-五月天激激婷婷大综合,婷婷亚洲综合五月天小说 | 激情综合久久| 婷婷午夜天| 麻豆雪千夏| 99精品视频在线观看| www色中色综合| 日韩大片艹艹| 激情五月丁香婷婷| 五月婷婷婷自由综合| www九月婷婷| 九九碰九九爱97超碰| 婷婷五月天成人动漫| 五月天大香蕉视频| 俺去也五月| 丁香五月激情婷婷婷婷在线观看| 九九热在线观看视频网站| 激情婷婷五月| 91久草五月天婷婷| 丁香五月婷婷欧美性爱| 直接看的AV| 五月婷婷综合激情网| 一区二区三区四日本| 五月婷婷六月激情| 日本久久99| 丁香蜜臀黄色婷婷五月天| 99精品网| 天天日天天爽| 久久这里都是精品| 丁香五月香蕉在线| 婷婷午夜激情| 另类国产综合| 少妇熟女视频一区二区三区| 99在线资源| 丁香五月电影| 五月天婷婷色色网| www.色九月| 久久久国产精品黄毛片| 99ER热精品视频| 中文字幕综合网| 99成人免费热视频| 色色网站免费| 五月天激情小说| 99精品久久久久久久婷婷久久| av网址在线| 黄色AAAAAAA| 激情五月色婷婷| www.sezonghe| 天天日本夜夜谢| 丁香婷婷综合五月天| 日本高清久| www久久久久久久| 日本人妻伦在线中文字幕| 五月天丁香网站| 99这里只有| 狠狠搞亚洲| 蜜臀A∨在线水帘洞| 深夜男女福利刺激影院一区| 激情五月天黄色小说| 黄色成人网站在线播放| 99无码超碰| 91狼友视频网页更新| 亚洲激情综合| 五月婷婷色在线| 五月天久久婷| 欧美日韩成人在线网| 久久天堂婷婷五月| 色999亚洲人成色| 99热这里只有精品1025| 国产亚洲色婷婷99精品| 天天爽天天透天天爱| 丁香五月第九色| 丁香五月天人体| 婷婷五六月丁香| 99视频地址| 成人精品一区二区三区四区五区 | 人妻操逼视频| 丁香五月天啪啪| 婷婷久久网| 六月婷婷激情| 欧美亚洲色色色色| 丁香密臀AV激情网| 日韩另类| 亭亭五月天黑人2014| 久久久五月婷婷| 毛片毛片毛片毛片| 少妇综合网| 丁香五月色情| 五月花激情网| 婷婷色五月偷拍| 精品无码人妻一区| 九九re精品视频在线观看| 99操久久| 97精品综合久久内射| 六月丁香婷婷大香蕉| 亚洲成片在线观看| 激情五月婷婷她| 成 人片 黄 色 大 片| 丁香五月色| 黄桃AV无码免费一区二区三区 | 91精品丝袜久久久久久| 99热这里只有免费| 婷婷五月天av| 色偷偷五月天| 97在线日本| www.99热在线观看| 五月丁香婷婷激情视频| 五月丁香啪啪| 色婷婷五月成人网| 久色中文| 五月色综合| 热婷婷久| 国产精品色一哟哟| 亚洲中文乱字字幕在线永久| 99精品偷拍视频| 久久久久久综合88| 五月婷婷激情五月| 色综合色香蕉网| 色婷婷久久综| 日日爽日日| 思思热在线播放| 婷婷五月丁香综合网| 在线你懂的亚洲欧| 噜啊噜在线| 婷婷五月花| 九九99九九99九九99视频网| 激情综合网五月婷婷| 天天操天天插| 久热只有这里有精品| 噜噜色五月| 天天激情| 亚洲一区二区 成人网站戴套| 九九热a| 婷婷五月天成人网站| AV性爱在线| 婷婷丁香五月基地| 天天爽夜夜爽天天爽夜夜爽| 色偷偷AV亚洲男人的天堂| 韩国中文字幕91| 久操人| 丁香六月激情综合啪啪| 91久女| Se.婷婷五月天| 丁香婷婷网| 91刘玥视频在线观看| 伊人综合网4| 99热99在线| 99热九九在线| 99在线观看精品| 婷婷丁香五月视频| 激情小说视频图片| 91日精品| 99亚洲视频| 亚洲春色奇米影视| 人人人操B超碰| 99精品在线| 欧美黄色AA片哗啦啦啦| 综合色99| 久久久com| 色色丁香五月天| 97色色色| 亚洲AV人人操| 91碰碰碰| 色五月婷婷天天操夜夜操| 中文字幕丰满孑伦无码专区| 婷婷婷五月天最新综合你懂的| 中文字幕无码人妻少妇免费视频| 很很干在线视频| 成人日韩欧美| 情情五月天色| 97色综合| 色婷婷综合久久久久| 99超碰在线免费| 丁香婷婷人妻综合网| www.色五月| se99在线| 九九激情视频| 五月丁香啪啪啪| 婷婷在线精品| 精品人妻午夜一区二区三区四区| 天天网曰日曰夜夜综合永久免费| 66色在线日韩| 99色在线| 五月天婷婷色色| 婷婷5月天av| 99国产精品久久久久久久久久久| 26uuu在线观看| 久久9RE热视频精品98| 色情五月天丁香社区| 久久HD| 99热亚洲| 五月婷婷视频在线观看| 久久婷婷激情五月天一区二区| 99久久国产宗和精品1上映| 俺去也在线官网| 久久密臀婷婷| 噜噜五月天综合| 亚洲欧洲99| 玖玖色综合网| 免费精品66| 色色性爱视频| 夜夜综合色| 日本在线视频播放91| 久99视频| 五月综合丁| 五月天丁香成人社| 爱婷婷久久视频| 日韩综合久| 综合激情视频| 五月综合婷婷五月| 另类丁香五月天区图| 99国产欧美视频| www.天天日| 99色视频免费在线规看| 人妻性爱av网站| 四季日韩AV无码综合| 亚洲不卡| 五月丁香777| 大香蕉手机视频| 狠狠色丁香乆乆| www.99久| z色五月播播久久| 亚洲视99| 婷色视频| 三人荫蒂添的好舒服A片| 思思久久青草热| 久99在线视频| 无码一级片| 婷婷色网| 99热这里是精品| 色五月婷婷在线观看| 中字幕视频在线永久在线观看免费| 五月婷AV| 天天色一道本综合婷婷| 2021日韩无码| 九九热9| 五月色亚洲| 激情伊人五月天| 99久久66| 大香蕉人人网| 9 9 9色色| Blackedraw视频一区二区| 香蕉综合在线| 爱操人妻| 五月涩涩网| 噜综合| 婷婷丁香社区| 乱码操操| 色五月激情网| 天天插天天插| 色欲资源网| 天天草狠狠擦| 五月婷无码| 人妻综合网| 久久在线92| 中文字幕婷婷在线| 成人精品人妻| 超碰人人在线| 丁香五月婷婷网| 九九碰九九爱97超| 婷香五月激情视频| 日本99热| 日韩AV免费看| 丁香五月婷婷香| 久久久久久婷| 色噜久| 91操屁股| 性日本激情| 亚洲成人AV在线观看| 波多野结衣AV无码Porn| 91超碰在线观看| 超碰二区| 久草久青福利| www.成人婷婷综合| 六月婷婷八月丁香| 九九热在线观看视频| 九九热最新视频| 99riAv1国产在线观看| 国产淫熟妇| 五月婷婷中文网| 米奇激情婷婷| 狠狠高潮精品亚洲1| 99免费青青蜜臀| 国产午夜精品AV一区二区麻豆| 中字幕视频在线永久在线观看免费| 色婷视频| 九九久久偷拍| 99热综合在线| 狠狠色综合五月| 思思热高清在线观看| 五月丁香网中文字幕| 热99久久这里只有精品| www.婷婷五月天.com| 思思热高清在线观看| 日韩欧美四五区| 婷婷六月激情丁香| 国产白丝在线一区| 日日影院 | www.狠狠操| 五月丁香综合| 欧美在线视频9| 日本超碰在线| 1010日日无码| 美女五月天| 亚洲视频在线观看| 亚洲AV网址| 五月天婷婷一起草| 五月激情六月综合| 婷婷丁香五月久久| 超碰国产在线观看| 蜜桃五月天| 综合久久久婷| 色国产五月| 丁香六月婷婷综合缴| 五月丁香婷婷色色色| www.久久99| 色播色丁香五月| www.91久久| 婷婷五月天熟妇| 婷婷亚洲在线| 99视频精品全部观看10| 五月天色图| 丁香,开心成人,久久| 婷婷五月,偷窥偷拍网| 色五月开心婷婷| 狠狠色婷婷六月激情网| 丁香五月天视频| 人操91在线| 婷婷激情丁香五月天综合| 伊人9999| 大陆极品少妇内射AAAAAA| 九九热婷婷| 嫩草视频观看| 99视频这里有精品免费观看| 嫩BBB槡BBBB搡BBBB| 中文字幕AV网址| 九月丁香八月婷婷加勒比| 精品牛仔裤超碰| 五月天欧美激情| 久久久久久久人妻| 天天久久狠狠色综合| 亚洲情a| 成人五月丁香社区| 日本人人干| 五月丁香激情欧洲啪啪| 色五月激情五月| 亚洲色图日韩网址| 婷婷草| 成人免费黄色短视频| 丁香五月1页| 99∨VTV| 久久久潮喷-久久久九九-成人AV| 99精品7| 91丨九色丨熟女高潮| 九九99偷拍视频| 人人爽人人爽人人爽人人爽| 亚洲情综合五月天| 色亭亭五月天网扯| 国产真实乱对白精彩| 精品无码av丁香五月激情| 亚洲超碰在线| 丁香五月天啪啪| 色婷婷99| 白人荫道BBWBBB大荫道| 再綫Av免费視品| 色丁香六月| 99精品国产在热久久| 亚洲五月丁香综合网| 亚洲精品视频在线播放| 五月婷婷六月天| 成人五月丁香社区| 五月丁香久人妻中文| 色综合色五月| 久久精品色| 日本狠狠干| 婷婷五月综合社区| 五月天婷婷无码| 99精品丰满| SESE无码AV| 亞洲自怕| 亚洲色婷婷婷婷人人爽| 激情五月四色| 日韩综合大黄| 丁乡久久| 五月丁香六月婷| 91九色最新视频| 思思热热久久| 99在线视频女女视频| 九九亚洲| 亚洲精品网站色视频| 99精品在线观看视频| 色色色婷| 超碰婷婷色| 人妻在线中文字幕久久| 强辱丰满人妻HD中文字幕| 开心五月婷婷| 激情99热| 色约约视频一区二区三区四区五区 | 综合激情五月四射婷婷| 97亚洲视频在线| 五月丁香六月激情欧美综合| 狠狠色综合网| 日本精品人妻无码77777| 色热久资源| 99精彩视频网站在线| 丁香婷婷在线| 成人AV在线网站| 免费看欧美成人A片无码| 欧美综合123区| 丁香五月影院| 五月天激情www| www.zbzhongsen.com| 欧美黑人巨大性生话| 婷婷色av| 欧美性猛交99久久久99| www.夜夜| 热的国产,热的综合,热的有码 | www.丁香黄色五月天人与| 激情综合网五月天| 六月婷婷六月天天在线免费| 激情五月天色播| 天天色综合天天| 综合久久五| 丁香久久久| 99色免费| 欧美黄色一级录像| 91精品综合久久久久久五月丁香| www.成人婷婷综合| 大波美女VA网站| 五月婷婷六月综合| 91狼友视频在线观看| 五月激情天天干| 五月天激情综合在线| 超碰国产一区| 精品亚洲国产成AV人片传媒| 亚洲丁香花色| 9九色首页| 婷婷丁香五月天狠狠| 99操逼视频| www五月婷婷88导航| 成人短视频在线| 久热这里只有精品在线| 色五月91| 超碰99热精品| 无码一区二区三区四区五区91c| 综合激情视频| 中文字幕av久久爽一区| 99久视频| 干婷婷五月天| 色玖玖网| 91婷婷丁香五月亚洲| 97韩国久久电影院| 伊人天天色| 香蕉婷婷| 99人人干| 色色五月天激情| 国产永久一黄| 9 1 A v久久久| 成人做爰A片免费看网站找不到了| 9久热免费视频99| 99热这里有精力| 丁香五月综合亚洲| 这里只有精品视频在线看| 婷婷五月成人有| www婷婷| 91.www综合| 国外亚洲成AV人片在线观看| 六月天婷婷| 五月婷婷AV| 超碰在线精品| www.五月天色色.com| 亚洲精| 色色色色综合网| 婷婷激情五月视频| 日本激情91| 免费亚洲成人电影AV| bukadeavzaixian| 操b视频在线观看一区二区| 欧美天堂婷婷日韩| 丁香六月啪| 成人做爰高潮A片免费视频| 日韩aaa| 狠狠狠狠狠狠| 色欲色欲久久宗合网| 色综色网| 9超碰在线| 欧洲电影在线观看免费版英语版| 五月天激情国产综合婷婷婷| 激情内射人妻1区2区3区| 免费看欧美成人A片无码| 国产精品久久久久久久久久| 99热人人操人人操| 大香蕉五月| 97在线刺激| 99免费综合网| 久久久99精品| 人人干女人| av九九| 欧美搡BBBBB摔BBBBB| 色五月丁香com| 99精品丰满| 国产97色在线 | 日韩| 天堂久久精品| 色9999日韩国产| 99成人网站| 欧美婷婷色五月| 欧美精品熟女一区二区| 91精品综合久久久久久五月丁香 | 欧美婷婷色五月| 五月丁香六月激情视频| 精品人妻一区二区三区四区不卡在| 国产精品色色| 国产成人精品一区二三区熟女在线 | 色色色色色日韩午夜激情 | 97干欧美| 五月婷婷插一插| 丁香五月婷婷五月天| 久久人妻精品| 久久精品日| 成人精品在线观看| 五月婷婷五月丁香| 天天干天天干天天干| 中文字幕av网站| 五月香婷婷| 日本美女天天日天天爽| 99热这里只有精品首页| 亚洲乱码精品久久久久..| 97操碰日本女人| 亚洲国产婷婷色五月| 欧美成人精品一区二区| 午夜丁香婷婷| 色情婷婷。| 丁香六月高清视频| 日日色综合| 中文字幕综合色| 99热 这里只有精品 国产 日韩| 婷婷五月天综合小说网| 色丁香五月婷婷| 99ER热精品视频| 99亚洲视频| 青青操avbb| 婷婷五月另类网站| 综合AV网| 最新激情五月天| 五月丁香色六月激情干大屄| 少妇高潮呻吟A片免费看软件| 99在线视频资源| 天天爽—爽| 99riAv1国产在线观看| 天堂呦 呦百度搜索-百度搜索| 丁香婷婷六月天| 亚洲激情五月| 天堂呦 呦百度搜索-百度搜索| 亚洲色涩视频| 欧美婷婷| 婷婷色网站| 五月丁香五月综合欧美| 丁香99| 97干婷婷五月天| 九九热视频这里只有精品| 97欧美在线| 五月丁香六月婷婷不卡免费无码 | 99色在线观看视频者| 激情丁香婷婷五月天| 97色干| 玖玖婷婷五月| 五月天激情小说网| 九月久久婷婷| 人人干女人| 亚洲黄3级片网站欧美| 99久久性爱| 五月婷婷婷色| 日日噜人人人做人| 久久ww| 高潮毛片遮挡费高一百度| 噜噜五月天综合| 色色色天堂网| 97色啪| 色播激情婷婷| 激情深爱五月天| 99ri视频在线播放| 99日本精品视频热| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 人妻熟妇六区| 久综合4| 久热精品视频| 丁香五月天大香蕉啪啪| 色狠久| 狠狠综合色网| 91热爆在线| 五月丁香婷婷色| 婷婷五月AV| 五月婷婷丁香啪啪| 中文成人在线| 亚洲欧美国产高清vA在线播放| 特黄三级又爽又粗又大| 欧美日韩成人在线网站| 99色综合网| 国产欧美精品AAAAAA片| 夜夜操,天天撸| 色色五月天com| 日本不卡中文字幕| 婷五月丁香| 婷婷丁香精品视频在线观看| www天天干| 日韩精品VIP| 亚洲性视频| 国产欧美日韩性爱| 久777| www.日本91| 色色色五月婷| 综合久久影院| 亚洲Av入口| www综合久久| 激情丁香五月激情婷婷| 久9视频免费播放| 这里只有精品视频免费在线观看| 久久这里只有国产视频| www.五月婷婷.com| 日韩限制级大尺度黑料泄密大尺度视频一区二区在线观看 | 五月婷亚洲精品AV天堂| 开心五月婷婷激情网| www:99热视频| 97av在线视频| 99精品视频免费观看近期发布| 日本五月天一页| 色啪综合| 97人人操人人操人人操人人| 97在线精品| 丁香五月婷婷香| bbwcuckold精品熟妇| 色婷婷成人做爰A片免费看网站 | 这里精品| 色综合五月婷婷狠狠干| 久青操| 久久精品无码一区| 婷五月天| 激情五月第四色| 9久久网| 亚洲乱码日产精品BD| 91九色中文字幕女在线观看| 五月天激情日色在线| 在线观看中文字幕亚洲| 亚洲激情六月丁香| 免费观看全黄做爰的视频| 99热综合网| av五月天婷婷丁香| 五月丁香拍拍激情综合| 九九re精品视频在线观看| 色99久草在线| 夜精品无码A片一区二区蜜桃| 色在线99| 超碰在线94| 日本一级| 天天色噜| 五月色网| 亚洲婷婷五月天激情综合| 天天操夜夜爽天天操| 欧美日韩精品人妻狠狠躁免费视频| 91九色国产在线| www夜夜操| 亚洲小视频| 天天插轮理| 中文字幕人妻在线| 色五月婷婷1| 图片区 小说区 区 亚洲五月 | 久久超级碰视频| 91九色 熟| 免费看欧美成人A片无码| 色色综合网站| 天天色,天天日,天天做| 五月丁香激情在线| 亚洲欧州色情在线观看| 天堂草在线观| 日本一级黄色电影| 色欲色天天香综合| 991国产精选视频在线播放下载| 99热官网精品在线| 丁香六月色| 婷婷亚州综合| 99热草草| 超碰97色| 亚洲 成人 电影av在线观看| 天天色五月婷婷91久久久久久久| 九九久久精品| 天天爱天天秀天天做| 五月在线| 国产精品美女| 欧美久热| 能直接看的av网站| 五月激情综合网| 激情五月天色色| 99热这里只有精品3| 色五月 五月婷婷| 99re热在线视频| 婷婷色五月丁香六月欧美啪| 综合网色| 综合 激情 婷婷| 久久婷婷五月综合色和| 99热高清在线| 九九碰九九爱97超碰| 桃色Av色哟哟| 小视频一区 | 天天天天天天操| 九九激情网| 丁香五月综合福利视频导航| 99日这里只有精品| 狠狠狠狠狠狠| 97碰| 国产午夜精品AV一区二区麻豆| Av狠狠色丁香婷| 日本玖玖在线| 丁香五月色色| 五月激情六月| 99re8这里只有精品99re8热视频| 五月婷婷狠狠干| 性一交一乱一交A片久久四色| 97干干干丁香| 超碰无码老师| 成人日韩欧美| 五月丁香六月婷婷婷婷| 开心五月激情婷婷| 亚洲最大在线| 丁香五月婷婷色综合| 美欧成人视频| 亚洲精品操一操、噜一噜、摸一摸、爽| 色青五月天| 五月天六月婷| 在线观看亚洲AV| 婷婷五月天成人| www.九月婷婷丁香.com| 狠爱婷色| 天天噜天天爱| 夜夜久久综合网| 亚洲欧洲中文日韩久久AV乱码| 久久久全国免费视频| 丁香五月区| 亚洲国产成人裸舞| 久久色区| www.99热| 婷婷无码视频| 狠狠色噜噜| 久久这里只有精品99| 四季日韩AV无码综合| 五月亭亭欧美女人| 婷婷激情综合网| 亚洲精品电影| 丁香久久九九99| 国产伊人五月天| 五月天婷婷基地| 五月天久久色| 久久中文人妻系列| 欧美爆乳一区二区三区| 色香蕉影院| 激情婷婷综合网| 99热这里只有精品2016| 婷婷社区五月天| 色色色区| 五月婷婷六月丁香激情| 日韩人妻白浆视频系列| 免费AAAAA网| 天天插天天插天天日| 九月激情综合| www久久久久久| 欧美性爱5月天天天看| 丁香五月婷婷影院| 日韩精品一品二区三区的使用体验| 操日本人妻视频| 色色色热| 激情综合色图| 六月婷五月丁香| 精品人妻一区二区三区四区不卡在| 亚洲四色五月| 精品国产va久久久| 人操综合| 婷婷日日天天| 婷婷D区| 五月丁激情| 五月丁香网站| 丁香午月AV中文字幕| 99热在线观看这里只有精品| 精品久久人妻| 思思色播| 99色视频| 就要爱综合| 五月天色丁香| 九九这里只有精品在线视频| 在线综合网| 99热r| 激情综合五月| 秋霞丝袜啪啪啪| 久久婷婷色五月| 狠狠操综合| 青草青草久热这里只有精品| 美女五月天| 久久久久亚洲AV成人无码电影| 久久色五月天综合网| Www.久久| 亚洲激情综合| 4399欧美另类视频| 欧美色色色色色色色色色色| 超级碰人人操人人干| 天天狠狠六月婷丁香影院| 成人网站高清无码| 亚洲成人av在线| 羞羞嫩草视频| 噜啊噜在线| 天天久综合网永久入口17v | 色五月婷婷五月天| 五月丁香WWW| 激情 久久 婷婷| 丁香五月Av| 大香蕉伊人99| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | www99久久| 99性视频| 狠狠色丁香婷婷综合久久97AV| 狠狠色丁香| 久久一二三视频| 婷婷狠狠爱| 99视频九九热| 欧美天天五月丁香免费观看| 丁香五月激情图片婷婷| 欧美丁香婷婷五月天| 国产操B视频| 婷婷在线播放| 婷婷六月天激情影院| 国产FREESEXVIDEOS性中国 | 无码人妻丰满熟妇奶水区码| 亚洲成人在线五月天| 玖玖99婷婷| 久99在线视频| 久久婷婷五月综合激情国产| 婷婷基地成人五月天| 开心五月激情网| 天天天操天天天爰| 国产精品A片在线| 色五月婷婷视频| 欧美日韩国产一区二区| www,8050,午夜三级| 天天揷综合网| 91色噜噜狠狠狠狠色综合| 丁香五月婷婷动漫| 亚洲操B视频| 99性爱| 区区欧美你爱| 五月丁香好婷婷A片网| 久久这里只| 婷婷五月深情丁香深爱日韩| 丝雨一区二区| 五月婷婷婷| 亚洲天天免费| #NAME?| 天天爱天天爽| 九九热免费视频| 久久婷综合网| 欧美激情综合五月色丁香| 色色色色色色色色色色色色色97| 天天爽—爽| 123草逼网| 9视频在线成人网站| 99久视频| 色射影院| 久久久婷婷色五月资源网| 激情综合婷婷| 久久 婷婷 五月天| 亚洲综合成人网| 日本丰满久久| 欧美性猛交XXXX乱大交极品| 五月花婷婷| 天天精品视频在线观看视频| 伍月婷丁香婷| 久久aaaaa| 色播五月丁香| 伊人91| 99热只有| 五月婷婷无码| 激情久久五月网| 九九家庭影院| 色婷婷AV在线| 久久精品天| 久久少妇视频| 精品皮股午夜AV| 成人免费黄色短视频| 婷婷五月天免费视频| 激情丰满熟妇五月| 日韩在线9| 色噜噜五月丁香婷婷| 久久色情| 人人草人人舔| 无码区婷婷五月花开| 天天夜天天色天天| 五月六月婷婷激情网| 91九色国产| 亚洲天堂啪啪| 五月丁香色婷婷色| 婷婷在线视频| 成人色图情色成人网 www.5b5b5bcom 五月天| 日本成人小说婷婷六月| 深爱五月婷婷开心中文字幕| 久久婷婷丁香视频网| 日日噜噜久久婷婷五月天| 99在线看视频| 狠狠色综合图片| 99干在线视频| 激情婷婷综合网| 欧美月久久| 色99婷婷五月天| 亞洲自怕| 一区无码| 美国不卡视频| 强壮的公次次弄得我高潮A片日本 | 综合网五月| 91黄址| 色欲色香综合网| 色色婷婷丁香| 激情五月成年| 久久久9久| 日韩淑女人妻luan伦激情精品一区二| 久久五月情| 中文字幕丰满孑伦无码专区| 亚洲天堂久久| 婷婷午夜精品久久久| 五月丁香综合啪啪| 啪啪综合网| 国外亚洲成AV人片在线观看| 另类小说五月天| 电影91久久久| 激情丁香久久| 伊人久久婷婷五月综合97色| 精品久久久91久久影视网| 级人人91| 91无码高清| 丁香五月激情婷婷视频| 日日色五月天| av在线激情| 大香蕉啪啪| 五月婷婷久久开心网| 亚洲五月情| 97色啪| 亚欧州精品视频| 婷婷五月天福利| 97碰碰久久| www.91在线观看| 99热久草| 五月激情丁香五月宗合| 五月婷婷网五月在线| 一月婷婷色色| 这里只有精品久久| 色九月综合网| 久久久久久久综合狠狠综合| 国产五月丁香在线| 九九性视频| 开心五月天激情网| 狠狠色婷婷7777久| 97se在线视频| 97在线视频观看| 深夜婷婷五月丁香| 色情综合网| 色婷婷影院| 久久久91精品| 91久久久久久久久18| 精品三区影院| 99在线精品观看99| 欧美内射AAAAAAXXXXX| 激情性爱五月天网页| 婷婷射丁香| 午夜激情五月| 五月丁香色综合| 香蕉久久国产AV一区二区| 五月丁香| 五月丁香黄色| 色综合久久88色综合天天99| 99热这里只有精品1998| 色色色欧美| 国产精品A片在线| 五月丁香综合激情在线观看| 第五色婷婷| 激情丁香五月| 亚洲国产精品SUV| 97性高潮久久久| www.狠狠操.com| 激情五月激情综合网| 日韩精品无码一区二区| 精品婷婷| 色狠狠综合| 五月婷婷婷丁香播| 亚洲午夜av| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 亚洲国产精品二二三三区| 六月丁香网| 97碰碰人人| 五月综合婷婷五月| 色五月 婷婷, 大香蕉| 夜夜骑日日操| 五月色综合| 激情综合色婷婷啪啪六月天| 欧美婷婷日本| 欧州色色| 国av网| 婷婷五月天激情在线观看| 日本一级黄色电影| 亚洲网站999| www婷婷| 超碰在线50| 五月开心六月婷婷在线播放网站| 天天做好综合色| 99热在线播放| 人人澡天天色天天做| 九九aV| 中文字幕九九九九| 影音先锋777xfplay色资源网站| 成人国产欧美大片一区| 色欲丁香| 色婷精品91| 91趴趴| 婷婷五月色情天| www.久久99精品| 激情五月天噢美| 亚洲99热| 丁香97综合| 天天综合中文| 激情啪啪五月天| www.minyis.com【JT】实力收量可预付QQ2101460746 | 婷婷日韩| 亚色网站小视频| www.丁香五月| 色9色| 99re热在线视频| 成人av观看| 激情六月丁香| 婷婷五月天影院| 色九月婷婷丁香| 亚洲无线视频| 五月婷婷激情综合网| 天天肏屄夜夜爽| 99热官网精品在线| 激情综合婷婷五月| 国产精品18久久久| 五月丁香婷婷人体| 五月激情综合婷婷| 天天干天天干天天干天天干天天干天天 | 9色91视频| 丁香六月天婷婷开心综合| 五月丁香亭亭A片| 色综合天天综合成人网| 亚洲婷婷久久综合| 99热精品在线观看| 九九激情综合| 亚洲国产无线乱码在线观看| 五月丁香 啪啪啪| 少妇2做爰HD韩国电影| 五月天精品综合在线| 碰碰碰97免费精彩视频| 五月丁香黄色视频| 香蕉久久国产av一区二区| 91超级碰碰碰| 五月婷婷成人网首页| 色综色网| 丁香五月激情婷婷婷婷在线观看| 久青操| 狠狠色成人影片| 婷婷激情五月综合在线视频| 91亚洲天堂| 亚州操人在线视频| 五月婷婷六月丁香免费| 草了bav视频在线观看| 婷婷五月天高清无码| 久久久久久久久久婷婷| 婷婷丁香色五月| 日韩抽插操逼| 午夜福利8055| 天天干,夜夜爽| 日操五月婷| 97干在线观看| 任你躁XXXXX麻豆精品| 99热都是精品| 六月丁香婷婷天堂| 天天干天天操天天射 | 99久视频| 狠狠色噜噜狠狠亚洲A∨| Av大香蕉| 99热手机在线精品| 亚洲色激婷| 超碰免费人妻| 91九色PORNY肉丝在线| 久久99网| 日韩色五月| 亚洲成人色五月婷婷综合| 日本全黄一级999| 99日本黄站| 丁香五月亚洲天堂| 色婷婷XXXXX| 久久女人九九| 91蜜桃婷婷狠狠久久综合9色| 婷婷色五月在线视频| Se.婷婷五月天| 丁香五月亚洲综合丝袜| 婷婷金品综合视频| 亚洲五月色| 六月婷五月丁香| 久久99婷婷| 激情五月婷婷她| 狠狠狠狠狠狠| 国产熟女一区二区三区五月婷| 婷婷丁香五月综合激情小说| 婷婷色操| 国产性爱大片久久| 精品久久婷婷| 久久精彩视频99| 五月色网| 色婷婷丁香AV综合| 在线另类| 亚洲欧洲午夜成人精品av| 大香蕉手机视频| 成 久久| 人人草成人视频| 丁香五月激情婷婷视频| 69精品人妻不卡视频| 日韩av高清| 天天射天天插天天干| 99精品视频在线观看| 天天做夜夜爽| 五月天狠狠| 天天日,天天干,天天操| 9久热这里只有精品| 九九伊人网| 日日爱678| 韩国不卡AC视频| 婷婷操无码| 色五月六月| 亚洲色另类| 免费超碰在线| 伦乱人妻| 99久视频| 图片区 小说区 区 亚洲五月| av在线中文| 色五月激情综合| 丁香激情四射| 久久色五月| 五月综合久久| 大香蕉九九| 色色色999| 五月丁香久久| 丁香婷婷老熟女综合网| 国产精品第一国产精品| 狠狠爱成人综合网| 五月四色激情| 婷婷五月丁香A∨| 九月婷婷在线观看| 成人在线综合| 色婷婷婷婷| 激情婷婷五月亚洲| 色婷丁香五月| 色五月成人在线| 99视频久久免费视频| 人人看人人草人人摸| 蜜臀嫩草| 中文字幕婷婷五月天在线观看| 五月天久久婷婷| 色激情五月| 久久婷婷视频| 99热在线观看| 日韩av高清| 91嫩草久久| 另类天堂| 五月六月激情婷婷| 色播激情五月天| 亚洲综合另类| 91久久久久久| 中国女人做爰A片| 超碰一区二区| 中文字幕在线播放视频| 五月丁香综合激情在线观看| 一级二级香港秋霞欧美欧美秋霞| 天天天天天日| 丁香五月天激情视频| 内射人妻视频国内| 丁香五月婷婷亚洲另类| 精品在线网站| 婷婷涩五月天综合| 五月婷婷中文| 久热大香蕉| 人人肏逼视频在线一区二区| 国产综合久久久777777| 亚洲小视频免费观看| 亚洲AAAA网| 激情综合网址| 91狠狠色丁香婷婷综合久久精品| 五月黄色婷婷| 二色av| 亚洲色A| 久久综合五月天| 超碰妻人人| 色色综合成人网| 久久这里只有欧美| 久久99热这里只有精品| 99五月香婷婷丁香在线视频| 久久9久| 色色婷五月天| 99综合| 色www久视频| 狠狠狠狠狠狠色| 99日这里只有精品| 色停停香蕉视频| 丁香花综合永久入口| 久久婷婷桃花五月天| 五月婷婷伦理| 97在线刺激| 亚洲成人在线在线| 五月婷婷xxx| 五月婷婷丁香综合网| 五月天激情小说| 九九色插| www.色婷婷。com| 国产一级片| 综合久久综合五月天婷婷| 色色丁香五月婷婷| 欧美影院婷婷| 欧美成人日韩| 欧美激情综合色综合| www.狠狠操| 爆乳熟女一区二区三区爆乳| 色婷五月丁香久亚洲| 日韩三级高清无码| 国产SUV精品一区二区6| 国产超碰在线| 色噜噜97视频在线观看| 黄色片avv| 九九热99精品在线| 99久热| 91人人操人人| 精品久久久久久久久久久久人妻| 五月婷婷综合在线| 久热9| 婷婷五月丁香欧洲| 冬月かえでAV无码播放| 激情五月丁香在线观看直播| 99热在线观看免费精品| 久久激情五月| 色私五月婷婷| www.婷婷.com| 97色色综合| 99综合成人视频在线观看 | www.色五月| av大香蕉| 婷婷五月天激情文学| 在线资源av-超碰中文在线-成人AV| 久久久久久综合五月婷婷| 99热网精品| 免费精品66| 欧美成人一区二区三区在线视频 | 色婷婷五月天偷拍| 激情五月天福利| 色色色.COM| 9|在线观看视频| 欧美激情凹凸丁香网| 丁香激情综合| 人人色性网| 黄网在线免费| www.色色色色| 热99.com婷婷| 久久久精品人妻|