美文网首页
mac 编译lame库

mac 编译lame库

作者: 东也_ | 来源:发表于2020-12-04 17:06 被阅读0次

第一步 下载源码 最新版即可 我用的是3.100

lame下载官网
或者 百度网盘 我将写好的脚本以及编译好的库都在里面了
链接: https://pan.baidu.com/s/1Q11gZM-CrLiV72rCmoWWng 密码: slrl

第二步 创建shell脚本, 创建后 要对该脚本文件授权

chmod 777 脚本文件路径

内容如下:

#!/bin/sh

# shared:关闭动态链接库 单独使用   frontend: 不编译出lame的可执行文件
CONFIGURE_FLAGS="--disable-shared --disable-frontend"

# 苹果手机个型号架构
ARCHS="arm64 armv7s x86_64 i386 armv7"

# directories
SOURCE=""
FAT="fat-lame"
SCRATCH="scratch-lame"
# must be an absolute path
THIN=`pwd`/"thin"

COMPILE="y"
LIPO="y"

# 根据外面传的参数做判断  如果是lipo 不参数编译 如果是其他架构就只编译那个架构的库
if [ "$*" ]
then
    if [ "$*" = "lipo" ]
    then
        # skip compile
        COMPILE=
    else
        ARCHS="$*"
        if [ $# -eq 1 ]
        then
            # skip lipo
            LIPO=
        fi
    fi
fi

# 开始编译
if [ "$COMPILE" ]
then
    CWD=`pwd`
    for ARCH in $ARCHS
    do
        echo "building $ARCH..."
        echo "当前根目录: $CWD"

        mkdir -p "$SCRATCH/$ARCH"
        mkdir -p "$THIN/$ARCH/lib"
        mkdir -p "$THIN/$ARCH/include"
        cd "$SCRATCH/$ARCH"

        if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]
        then
            PLATFORM="iPhoneSimulator"
            if [ "$ARCH" = "x86_64" ]
            then
                SIMULATOR="-mios-simulator-version-min=7.0"
                        HOST=x86_64-apple-darwin
            else
                SIMULATOR="-mios-simulator-version-min=5.0"
                        HOST=i386-apple-darwin
            fi
        else
            PLATFORM="iPhoneOS"
            SIMULATOR=
                    HOST=arm-apple-darwin
        fi

        XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'`
        CC="xcrun -sdk $XCRUN_SDK clang -arch $ARCH"
        #AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC"
        CFLAGS="-arch $ARCH $SIMULATOR"
        if ! xcodebuild -version | grep "Xcode [1-6]\."
        then
            CFLAGS="$CFLAGS -fembed-bitcode"
        fi
        CXXFLAGS="$CFLAGS"
        LDFLAGS="$CFLAGS"

        $CWD/configure \
            $CONFIGURE_FLAGS \
                    --host=$HOST \
            --prefix="$THIN/$ARCH" \
                    CC="$CC" CFLAGS="$CFLAGS" LDFLAGS="$LDFLAGS"
        make -j3 install
        cd $CWD
    done
fi

 #合并模拟器和真机库
if [ "$LIPO" ]
then
    echo "building fat binaries..."
    mkdir -p $FAT/lib
    set - $ARCHS
    CWD=`pwd`
    cd $THIN/$1/lib
    for LIB in *.a
    do
        cd $CWD
        lipo -create `find $THIN -name $LIB` -output $FAT/lib/$LIB
    done

    cd $CWD
    cp -rf $THIN/$1/include $FAT
fi

第三步 终端cd 到 你下的lame的解压文件下(注意把脚本也要放到lame的目录下),直接运行你的脚本文件。如: ./build-lame.sh;

成功后的静态库就在你的当前目录下的fat-lame下的lib里面,如没有就失败了。

注意事项:

  1. 如果编译失败就换台电脑试一下吧, 我自己的电脑就会报错,用别人的电脑一下就成功了;
    错误如图:


    image.png

相关文章

网友评论

      本文标题:mac 编译lame库

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