少妇脱了内裤让我添,久久久久亚洲精品无码网址蜜桃,性色av免费观看,久久人妻av无码中文专区

分享

編譯libmp3lame到Android

 狄倫視角 2021-07-25

創(chuàng)建一個根目錄,隨便起個名字。然后里面再創(chuàng)建一個jni目錄,必須是這個名字,然后去官網(wǎng)上下載最新版3.99,解壓以后把里面的libmp3lame和include目錄復制到jni目錄下:

  

  

  

然后在jni目錄下創(chuàng)建Application.mk和Android.mk。

Application.mk

APP_BUILD_SCRIPT :=$(call my-dir)/Android.mk

APP_PROJECT_PATH :=$(call my-dir)

APP_MODULES:=mp3lame

APP_PLATFORM:=android-21

APP_ABI:=armeabi-v7a arm64-v8a x86_64

Android.mk

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := mp3lame

LOCAL_CFLAGS := -DSTDC_HEADERS

LOCAL_SRC_FILES := ./libmp3lame/bitstream.c ./libmp3lame/encoder.c ./libmp3lame/fft.c ./libmp3lame/gain_analysis.c \

./libmp3lame/id3tag.c ./libmp3lame/lame.c ./libmp3lame/mpglib_interface.c ./libmp3lame/newmdct.c \

./libmp3lame/presets.c ./libmp3lame/psymodel.c ./libmp3lame/quantize.c ./libmp3lame/quantize_pvt.c \

./libmp3lame/reservoir.c ./libmp3lame/set_get.c ./libmp3lame/tables.c ./libmp3lame/takehiro.c \

./libmp3lame/util.c ./libmp3lame/vbrquantize.c ./libmp3lame/VbrTag.c ./libmp3lame/version.c

LOCAL_C_INCLUDES := $(LOCAL_PATH)/libmp3lame $(LOCAL_PATH)/include

ifeq ($(TARGET_ARCH_ABI), armeabi-v7a)    

# 采用NEON優(yōu)化技術(shù)    

LOCAL_ARM_NEON := true    

LOCAL_CFLAGS += -mfpu=neon -mfpu=vfpv3-d16

endif

ifeq ($(TARGET_ARCH_ABI), armeabi) 

LOCAL_CFLAGS += -marm -mfpu=vfp -mfpu=vfpv3 -DCMP_HAVE_VFP

endif

include $(BUILD_STATIC_LIBRARY)

此時就算成功運行ndk-build,依然會報另外一個錯:

In file included from /Users/zhgeaits/develop/resources/ffmpeg/lame/jni/./libmp3lame/bitstream.c:36:0:

/Users/zhgeaits/develop/resources/ffmpeg/lame/jni/./libmp3lame/util.h:574:12: error: unknown type name 'ieee754_float32_t'

     extern ieee754_float32_t fast_log2(ieee754_float32_t x);

            ^

/Users/zhgeaits/develop/resources/ffmpeg/lame/jni/./libmp3lame/util.h:574:40: error: unknown type name 'ieee754_float32_t'

     extern ieee754_float32_t fast_log2(ieee754_float32_t x);

將 util.h 文件的 574 行的”extern ieee754_float32_t fast_log2(ieee754_float32_t x);” 替換為 “extern float fast_log2(float x);”

那是因為android里面不知道ieee754_float32_t是什么,并沒有這樣的宏定義,我們只要在util.h里面修改為float即可。再次運行ndk-build,就成功了,在obj目錄下生產(chǎn)了libmp3lame.a的靜態(tài)庫了。不管是靜態(tài)庫還是動態(tài)庫都是已經(jīng)可以在jni里面使用的了。但是要集成到ffmpeg中去,我們還是使用靜態(tài)庫好。

引入到FFMPEG:

--enable-libmp3lame

--enable-encoder=libmp3lame

ARMEABI=armeabi-v7a

LAMEDIR=/Users/zhgeaits/develop/resources/ffmpeg/lame

EXTRA_LDFLAGS="-L$LAMEDIR/obj/local/$ARMEABI"

EXTRA_CFLAGS="-O2 -fpic -I$PLATFORM/usr/include -I$LAMEDIR/jni/libmp3lame -I$LAMEDIR/jni/include $OPTIMIZE_CFLAGS"

注意上面$LAMEDIR/obj/local/$ARMEABI指向的是libmp3lame.a位置。

重新運行腳本會發(fā)現(xiàn)報錯ERROR: libmp3lame >= 3.98.3 not found,我們?nèi)ゲ榭碿onfig.log會發(fā)現(xiàn):

fatal error: lame/lame.h: No such file or directory

于是在include目錄建立lame目錄,然后把lame.h復制進去即可。最后就可以編譯成功了,注意如果是編譯為一個so庫,別忘了把libmp3lame.a也要鏈接進去。

到此直接編譯生成的  ffmpeg 的8個so, 就支持了libmp3lame了,只要將 ffmpeg  ndk-build 后拷貝到工程就可以使用了。

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    主站蜘蛛池模板: 亚洲欧美另类激情综合区| 亚洲最大日夜无码中文字幕| 中文字幕乱码亚洲无线码| 亚洲熟妇无码av不卡在线观看| 国内精品伊人久久久久7777| 992tv精品视频tv在线观看| 成人中文乱幕日产无线码| 两个人看的www免费视频中文| 麻豆一区二区99久久久久| 久久精品aⅴ无码中文字字幕不卡| 久久久久久免费毛片精品| 三叶草欧洲码在线| 日韩精品人妻中文字幕有码| 美女内射视频www网站午夜| 国产精品女同一区二区在线| 国产精品自在拍一区二区不卡| 国产超碰av人人做人人爽| 国产无遮挡又黄又爽网站| 日韩精品无码一区二区忘忧草| 大学生粉嫩无套流白浆| 激情97综合亚洲色婷婷五| 一本一道色欲综合网| 国产日韩av免费无码一区二区| 日韩人妻无码精品专区综合网| 亚洲国产成人精品av区按摩| 又黄又爽又色的视频| 日本丰满少妇高潮呻吟| 人人澡人人人人天天夜夜| 精品国品一二三产品区别在线观看| 午夜肉伦伦影院| 国内少妇毛片视频| 少妇太爽了在线观看免费视频| 国产成人小视频| 国产成人亚洲综合无码18禁h| 亚洲av综合一区二区在线观看| 九九影院理论片私人影院| 久久久久久人妻一区精品| 日本高清在线一区二区三区| 狠狠噜天天噜日日噜无码| 久久精品动漫一区二区三区| 五十路亲子中出在线观看|