Android(安卓)NDK编译lame
16lz
2021-12-04
编译lame
下载最新的lame
http://lame.sourceforge.net/download.php
拷贝 lame.h (include目录下),至libmp3目录下
创建Android.mk,内容如下:
LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := lameLOCAL_CLFAGS := -std=c99LOCAL_LDLIBS := -llogLOCAL_SRC_FILES := bitstream.c fft.c id3tag.c mpglib_interface.c presets.c quantize.c reservoir.c tables.c util.c VbrTag.c encoder.c gain_analysis.c lame.c newmdct.c psymodel.c quantize_pvt.c set_get.c takehiro.c vbrquantize.c version.cinclude $(BUILD_SHARED_LIBRARY)
创建Application.mk,内容如下
APP_ABI := armeabi-v7a arm64-v8a x86_64APP_MODULES := lameAPP_CFLAGS += -DSTDC_HEADERS#APP_ABI:=x86_64#APP_PLATFORM := android-21
执行
ndk-build NDK_PROJECT_PATH=. NDK_APPLICATION_MK=Application.mk APP_BUILD_SCRIPT=Android.mk
说明:
Application.mk里要加
APP_CFLAGS += -DSTDC_HEADERS
不然会报出
undefined reference to `bcopy'
等错误
删除非.c/.h文件:GNU autotools, Makefile.am Makefile.in libmp3lame_vc8.vcproj logoe.ico depcomp, folders i386 等无用文件。
编辑 utils.h。把
extern ieee754_float32_t fast_log2(ieee754_float32_t x);
替换为
extern float fast_log2(float x);
如果忘了替换,编译时会报出以下错误:
[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/mp3bitstream.o] Error 1
更多相关文章
- Android(安卓)源码下载、编译以及编译自己的apk
- ionic 自动编译android的release版本
- Android(安卓)命令行手动编译打包详解
- android ndk编译getevent
- android studio运行应用报找不到资源问题
- Android全工程编译不过问题汇总
- Android(安卓)源码编译make的错误处理
- 修改Android(安卓)framework定制重启功能
- android 3des加密Access restriction: The constructor SunJCE()