Search code examples
androidc++android-ndkndk-buildlame

Android NDK compile LAME HAVE_MPGLIB > 'interface.h' file not found


I am trying to compile lib LAME with adnroid ndk

I have been successfully compiled lame by this and use it to convert pcm to mp3 and any think works fine

but now I want to use hip_decode of lame but it seems hip not exist in the lib normally even compiling with "mpglib_interface.c"

and follow this I use "#define HAVE_MPGLIB 1" and "LOCAL_CFLAGS = -DSTDC_HEADERS -DHAVE_MPGLIB" but I got

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

I tried include interface.h but it seems wrong and give weird errors ...


Solution

  • I solved the problem

    you must copy (and replace) all .c and .h files in mpglib to libmp3lame

    and add all .c files in Android.mk

    in my case :

     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