首页 > 解决方案 > Android NDK 编译 LAME HAVE_MPGLIB > 'interface.h' 文件未找到

问题描述

我正在尝试使用 adnroid ndk 编译 lib LAME

我已经成功地编译了这个并用它来将 pcm 转换为 mp3 并且任何想法都可以正常工作

但现在我想使用 lame 的 hip_decode 但似乎 hip_decode 通常不存在于 lib 中,即使使用“mpglib_interface.c”编译也是如此

并按照这个我使用“#define HAVE_MPGLIB 1”和“LOCAL_CFLAGS = -DSTDC_HEADERS -DHAVE_MPGLIB”但我得到了

libmp3lame/mpglib_interface.c:36:10: fatal error: 'interface.h' file not found

我试过 include interface.h 但它似乎是错误的并且给出了奇怪的错误......

标签: androidc++android-ndkndk-buildlame

解决方案


我解决了问题

您必须将mpglib中的所有 .c 和 .h 文件复制(并替换)到libmp3lame

并在 Android.mk 中添加所有 .c 文件

就我而言:

 LOCAL_SRC_FILES  := ../lame-3.100/libmp3lame/dct64_i386.c ../lame-3.100/libmp3lame/tabinit.c ../lame-3.100/libmp3lame/layer1.c ../lame-3.100/libmp3lame/layer2.c ../lame-3.100/libmp3lame/layer3.c ../lame-3.100/libmp3lame/decode_i386.c ../lame-3.100/libmp3lame/common.c ../lame-3.100/libmp3lame/interface.c ../lame-3.100/libmp3lame/mpglib_interface.c ../lame-3.100/libmp3lame/bitstream.c  ../lame-3.100/libmp3lame/encoder.c  ../lame-3.100/libmp3lame/fft.c  ../lame-3.100/libmp3lame/gain_analysis.c  ../lame-3.100/libmp3lame/id3tag.c  ../lame-3.100/libmp3lame/lame.c   ../lame-3.100/libmp3lame/newmdct.c  ../lame-3.100/libmp3lame/presets.c  ../lame-3.100/libmp3lame/psymodel.c  ../lame-3.100/libmp3lame/quantize.c  ../lame-3.100/libmp3lame/quantize_pvt.c  ../lame-3.100/libmp3lame/reservoir.c  ../lame-3.100/libmp3lame/set_get.c  ../lame-3.100/libmp3lame/tables.c  ../lame-3.100/libmp3lame/takehiro.c  ../lame-3.100/libmp3lame/util.c  ../lame-3.100/libmp3lame/vbrquantize.c  ../lame-3.100/libmp3lame/VbrTag.c  ../lame-3.100/libmp3lame/version.c

推荐阅读