Android NDK 编译 LAME HAVE_MPGLIB > 'interface.h' 找不到文件

标签 android c++ android-ndk ndk-build lame

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

我已经被this编译成功了并使用它将 pcm 转换为 mp3,任何想法都可以正常工作

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

并关注this我使用“#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 但它似乎不对并且给出了奇怪的错误...

最佳答案

我解决了这个问题

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

并添加所有.c文件 安卓.mk

以我为例:

 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

关于Android NDK 编译 LAME HAVE_MPGLIB > 'interface.h' 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53011499/

相关文章:

android - Activity 之间的 slider 动画

android - 如何使用 Gradle 解决模块中的循环依赖?

android - ProGuard 和 AdMob 的问题

Android 操作栏在自上而下滑动时隐藏和显示

c++ - 将应用程序转换为使用 DLL 时的 LNK2019

android - linphone 上的 windows 构建错误

android - 使用 cmake for Android 时将共享对象复制到 jniLibs

自由函数的 c++ 源代码组织

android - '\0' 和 0 之间的区别用于终止字符串

android - Android 上的 openGL ES 2.0,YUV 到 RGB 以及使用 ffMpeg 渲染