zoukankan      html  css  js  c++  java
  • FDK_AAC交叉编译

    1. 下载所需要的FDK_AAC版本

    2. 写自动化脚本

    #!/bin/sh
    
    CONFIGURE_FLAGS="--enable-static --with-pic=yes --disable-shared"
    
    ARCHS="arm64 x86_64 i386 armv7"
    
    # directories
    SOURCE="解压后的地址"
    FAT=`pwd`/"fat"
    
    SCRATCH="解压后的地址"
    # must be an absolute path
    THIN=`pwd`/"thin"
    
    COMPILE="y"
    LIPO="y"
    
    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..."
            mkdir -p "$SCRATCH/$ARCH"
            cd "$SCRATCH/$ARCH"
    
            CFLAGS="-arch $ARCH"
    
            if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]
            then
                PLATFORM="iPhoneSimulator"
                CPU=
                if [ "$ARCH" = "x86_64" ]
                then
                    CFLAGS="$CFLAGS -mios-simulator-version-min=7.0"
                HOST="--host=x86_64-apple-darwin"
                else
                    CFLAGS="$CFLAGS -mios-simulator-version-min=7.0"
                HOST="--host=i386-apple-darwin"
                fi
            else
                PLATFORM="iPhoneOS"
                if [ $ARCH = arm64 ]
                then
                    HOST="--host=aarch64-apple-darwin"
                        else
                    HOST="--host=arm-apple-darwin"
                    fi
                CFLAGS="$CFLAGS -fembed-bitcode"
            fi
    
            XCRUN_SDK=`echo $PLATFORM | tr '[:upper:]' '[:lower:]'`
            CC="xcrun -sdk $XCRUN_SDK clang -Wno-error=unused-command-line-argument-hard-error-in-future"
            AS="$CWD/$SOURCE/extras/gas-preprocessor.pl $CC"
            CXXFLAGS="$CFLAGS"
            LDFLAGS="$CFLAGS"
    
            $CWD/$SOURCE/configure 
                $CONFIGURE_FLAGS 
                $HOST 
                $CPU 
                CC="$CC" 
                CXX="$CC" 
                CPP="$CC -E" 
                        AS="$AS" 
                CFLAGS="$CFLAGS" 
                LDFLAGS="$LDFLAGS" 
                CPPFLAGS="$CFLAGS" 
                --prefix="$THIN/$ARCH"
    
            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
    
    
    1. 编译文件
    
    # 进入编译脚本的文件夹
    
    cd /xxx
    
    brew install automake libtool
    
    sh ./autogen.sh
    
    # -rwxr-xr-x 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
    
    chmod 755 ./build-aac.sh
    
    # 执行脚本
    
    sudo sh ./build-aac.sh
    
    
    1. 编译完成, 生成fat目录和thin目录,分别存放合并所有指令集的静态库,以及各指令集的静态库.
  • 相关阅读:
    Liunx安装MQTT服务器
    ORACLE 把一个用户的权限给与另一个用户
    liunx 后台运行python代码
    ORACLE APEX 交互式网格动态操作
    oracle 创建表字段
    oracle 触发器
    ORACLE 程序包
    ORACLE 游标基本使用
    oracle 不等于 查询列中含有null
    liunx安装oracle 客户端
  • 原文地址:https://www.cnblogs.com/AliliWl/p/14965270.html
Copyright © 2011-2022 走看看