Android Studio编译LAME(使用CMake方式)

1、下载LAME源码 https://sourceforge.net/projects/lame/files/lame/ 我选择的是最新版3.100,解压

2、新建支持C++的AndroidStudio项目LAMETest

7369628-90b48140dc6f53d8.png
7369628-ddd5e5fc3c5b335f.png

3、在项目cpp目录新建文件夹lame,把解压后文件夹libmp3lame里的除i386和vector文件夹里全部.h、.c结尾的文件和include/lame.h复制到cpp/lame里面

7369628-4bd985aa2802d7da.png

4、注释掉或者删掉ffc.c文件里的include "vector/lame_intrin.h"

7369628-7883776c7050f653.png

5、注释掉set_get.h的第24行

7369628-cb2b7582b5f9ca1c.png

6、修改 util.h 文件的 570 行的 extern ieee754_float32_t fast_log2(ieee754_float32_t x)  extern float fast_log2(float x)

7369628-31aa6605510aef52.png

7、此时还有很多文件报错,因为没有定义宏 STDC_HEADERS 在配置文件中添加cFlags "-DSTDC_HEADERS"-DSTDC_HEADERS的意思相当于 #define STDC_HEADERS

7369628-cf3dc94e1a8c8779.png

提醒一下,这个地方一定一定一定要选CMake 3.6,不要选2.10,否则项目会莫名其妙不能识别cpp文件

7369628-e46410a33888e069.png

8、最后运行测试一下,修改native-lib.cpp如下,返回LAME版本

7369628-bbbea1854e43109a.png
7369628-c225029af4e33804.png
成功

最后附上NDK官方开发文档地址 https://developer.android.google.cn/ndk/

猜你喜欢

转载自blog.csdn.net/weixin_34331102/article/details/87072632