How can I compile lame as static library(.a) for armv6 and armv7 of iPhone?

后端 未结 3 1424
既然无缘
既然无缘 2020-12-04 20:39

LAME(http://lame.sourceforge.net/) is a library written in c language. It can convert PCM sound files to MP3 files. I use it to convert sound files to MP3 files on iPhone. T

3条回答
  •  猫巷女王i
    2020-12-04 21:11

    Thanks @mcrute for his great answer, and XCode 5 requirement update I have updated script. Hope it useful for new users.

    NOTE: Don't forget to update SDK_VERSION based on your system installation

    #!/bin/bash
    
    DEVELOPER=`xcode-select -print-path`
    
    SDK_VERSION="7.1"
    
    mkdir build
    
    function build_lame()
    {
        make distclean
    
        ./configure \
            CFLAGS="-isysroot ${DEVELOPER}/Platforms/${SDK}.platform/Developer/SDKs/${SDK}${SDK_VERSION}.sdk" \
            CC="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch ${PLATFORM} -miphoneos-version-min=7.0 " \
            --prefix=/Users/mcrute/Desktop/lame \
            --host="arm-apple-darwin9" \
            --disable-shared \
            --enable-static \
            --disable-decoder \
            --disable-frontend
    
        make -j4
        cp "libmp3lame/.libs/libmp3lame.a" "build/libmp3lame-${PLATFORM}.a"
    }
    
    PLATFORM="i686"
    SDK="iPhoneSimulator"
    build_lame
    
    PLATFORM="armv6"
    SDK="iPhoneOS"
    build_lame
    
    PLATFORM="armv7"
    build_lame
    
    PLATFORM="armv7s"
    build_lame
    
    lipo -create build/* -output build/libmp3lame.a
    

提交回复
热议问题