日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android如何编译lame,ndk编译android的lame库

發(fā)布時(shí)間:2023/12/16 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android如何编译lame,ndk编译android的lame库 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1、lame c庫(kù):

https://github.com/intervigilium/liblame

下載后解壓,進(jìn)入目錄,terminal里運(yùn)行ndk-build即可

2、lame android庫(kù)

https://github.com/intervigilium/Lame4Android

需要引用上面編譯好的.so文件

3、方法1里的lame的源碼可能不是最新的,我們可以下載最新的lame

http://lame.sourceforge.net/download.php

a、解壓,復(fù)制lame-3.99.5/libmp3lame 到j(luò)ni目錄里,改名為lame

b、拷貝 lame.h (include目錄下),至jni/lame.h

c、創(chuàng)建jni/Android.mk,內(nèi)容如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := lame

LOCAL_CLFAGS := -std=c99

LOCAL_LDLIBS := -llog

LOCAL_SRC_FILES := lame/bitstream.c lame/fft.c lame/id3tag.c lame/mpglib_interface.c lame/presets.c lame/quantize.c lame/reservoir.c lame/tables.c lame/util.c lame/VbrTag.c lame/encoder.c lame/gain_analysis.c lame/lame.c lame/newmdct.c lame/psymodel.c lame/quantize_pvt.c lame/set_get.c lame/takehiro.c lame/vbrquantize.c lame/version.c

include $(BUILD_SHARED_LIBRARY)

d、創(chuàng)建jni/Application.mk,內(nèi)容如下

APP_ABI := armeabi armeabi-v7a arm64-v8a x86_64

APP_MODULES := lame

APP_CFLAGS += -DSTDC_HEADERS

#APP_ABI:=x86_64

#APP_PLATFORM := android-21

4、terminal里運(yùn)行ndk-build,編譯后的so文件放在libs里

說明:

Application.mk里要加APP_CFLAGS += -DSTDC_HEADERS,不然會(huì)報(bào)錯(cuò)undefined reference to `bcopy‘等錯(cuò)誤

刪除非.c/.h文件:GNU autotools, Makefile.am Makefile.in libmp3lame_vc8.vcproj logoe.ico depcomp, folders i386 等無用文件。

編輯 jni/utils.h。把extern ieee754_float32_t fast_log2(ieee754_float32_t x);替換為extern float fast_log2(float x);。如果忘了替換,編譯時(shí)會(huì)報(bào)出以下錯(cuò)誤:

[armeabi]?Compile?thumb??:?mp3lame?<=?bitstream.c

In?file?included?from?jni/bitstream.c:36:0:

jni/util.h:574:5:?error:?unknown?type?name?‘ieee754_float32_t‘

jni/util.h:574:40:?error:?unknown?type?name?‘ieee754_float32_t‘

make.exe:?***?[obj/local/armeabi/objs/mp3lame/bitstream.o]?Error?1

總結(jié)

以上是生活随笔為你收集整理的android如何编译lame,ndk编译android的lame库的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。