美文网首页
windows平台使用wsl为Android编译lame

windows平台使用wsl为Android编译lame

作者: ushineme | 来源:发表于2022-03-02 14:38 被阅读0次

    lame

    lame是非常优秀的一种MP3编码引擎,在业界,转码成MP3 格式的音频文件时,最常用的编码器就是lame库。

    wsl

    Windows Subsystem for Linux(简称wsl),适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
    安装可以看windows 10安装wsl

    1. 使用Android Studio下载ndk

    下载ndk.png

    2. 下载lame

    https://sourceforge.net/projects/lame/files/lame/
    

    3. 在lame根目录下新建一个shell脚本配置各种变量并编译

    #!/bin/bash
    NDK_ROOT=/mnt/f/Android/Sdk/ndk/21.4.7075529
    PREBUILT=$NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
    PLATFORM=$NDK_ROOT/platforms/android-30/arch-arm
    export PATH=$PATH:PREBUILT/bin:$PLATFORM/usr/include:
    export LDFLAGS="-L$PLATFORM/usr/lib -L$PREBUILT/arm-linux-androideabi/lib -march=armv7-a"
    export CFLAGS="-I$PLATFORM/usr/include -march=armv7-a -mfloat-abi=softfp -mfpu=vfp -ffast-math -O2"
    export CPPFLAGS="$CFLAGS"
    export CFLAGS="$CFLAGS"
    export CXXFLAGS="$CFLAGS"
    export LDFLAGS="$LDFLAGS"
    export AS=$PREBUILT/bin/arm-linux-androideabi-as
    export LD=$PREBUILT/bin/arm-linux-androideabi-ld
    export CXX="$PREBUILT/bin/arm-linux-androideabi-g++ --sysroot=${PLATFORM}"
    export CC="$PREBUILT/bin/arm-linux-androideabi-gcc --sysroot=${PLATFORM} -march=armv7-a "
    export NM=$PREBUILT/bin/arm-linux-androideabi-nm
    export STRIP=$PREBUILT/bin/arm-linux-androideabi-strip
    export RANLIB=$PREBUILT/bin/arm-linux-androideabi-ranlib
    export AR=$PREBUILT/bin/arm-linux-androideabi-ar
    ./configure --host=x86_64-linux\
    --disable-shared\
    --disable-frontend\
    --enable-static\
    --prefix=/mnt/f/Android/Project/Cproject/lame-3.99.5/armv7a
    make clean
    make -j8
    make install
    

    4. 在armv7a文件下可以看到编译结果

    lame交叉编译完成.png

    相关文章

      网友评论

          本文标题:windows平台使用wsl为Android编译lame

          本文链接:https://www.haomeiwen.com/subject/zwayrrtx.html