<pre name="code" class="plain">#!/bin/bash
DEVELOPER=`xcode-select -print-path`
SDK_VERSION="7.1"
MIN_VERSION="6.0"
PLATFORM="i386"
SDK_TYPE="iPhoneSimulator"
#PLATFORM="armv7"
#SDK_TYPE="iPhoneOS"
CURDIR=$(pwd)
mkdir ${CURDIR}/x264-build
cd x264
./configure --disable-asm --prefix=${CURDIR}/x264-build/${PLATFORM} \
--cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -miphoneos-version-min=${MIN_VERSION} -arch ${PLATFORM}" \
--extra-cflags="-isysroot ${DEVELOPER}/Platforms/${SDK_TYPE}.platform/Developer/SDKs/${SDK_TYPE}${SDK_VERSION}.sdk -arch ${PLATFORM} -miphoneos-version-min=${MIN_VERSION} -I${DEVELOPER}/Platforms/${SDK_TYPE}.platform/Developer/SDKs/${SDK_TYPE}${SDK_VERSION}.sdk/usr/include" \
--extra-ldflags="-L${DEVELOPER}/Platforms/${SDK_TYPE}.platform/Developer/SDKs/${SDK_TYPE}${SDK_VERSION}.sdk/usr/lib -L${DEVELOPER}/Platforms/${SDK_TYPE}.platform/Developer/SDKs/${SDK_TYPE}${SDK_VERSION}.sdk/usr/lib/system -arch ${PLATFORM} -miphoneos-version-min=${MIN_VERSION}" \
--sysroot="${DEVELOPER}/Platforms/${SDK_TYPE}.platform/Developer/SDKs/${SDK_TYPE}${SDK_VERSION}.sdk" \
--host="${PLATFORM}-apple-darwin" \
--enable-pic \
--enable-static \
--enable-shared \
make && sudo make install && make clean
echo "Done."
6.0是部署版本 可以自己根据情况调整。
将这个脚本 位于 x264目录同级执行,它会创建一个x264-build的目录。
执行脚本时,不知道为什么它会使用../Platforms/MacOS.platform 下面的头文件,所以我的解决办法是暂时将MacOS.platform随便改下名字,然后执行时就会去找iPhoneOS.platform下得头文件了,才能编译过。