美文网首页
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