標籤:blog io ar os sp for on 2014 log
唔. 一般在pc上我們都是
./configure
make
make install
一套打完收工..但是ios上怎麼破.?
-0- 主要是一些環境需要手動設定...
這裡寫了一些比較常見的環境.
把這玩意放到configure同路徑下. 執行這指令碼就OK了.
測試bson和lame庫都OK
#!/bin/bash BUILD_I386_IOS_SIM=1BUILD_ARMV7_IPHONE=1BUILD_ARMV7S_IPHONE=1BUILD_TARGET=lame IOS_MIN_SDK=6.1 ( PWD=`pwd`PREFIX=${PWD}/${BUILD_TARGET}rm -rf ${PREFIX}/platformmkdir -p ${PREFIX}/platform EXTRA_MAKE_FLAGS="-j4" XCODEDIR=`xcode-select --print-path`IOS_SDK=$(xcodebuild -showsdks | grep iphoneos | sort | head -n 1 | awk '{print $NF}')SIM_SDK=$(xcodebuild -showsdks | grep iphonesimulator | sort | head -n 1 | awk '{print $NF}')IPHONEOS_PLATFORM=${XCODEDIR}/Platforms/iPhoneOS.platformIPHONEOS_SYSROOT=${IPHONEOS_PLATFORM}/Developer/SDKs/${IOS_SDK}.sdkIPHONESIMULATOR_PLATFORM=${XCODEDIR}/Platforms/iPhoneSimulator.platformIPHONESIMULATOR_SYSROOT=${IPHONESIMULATOR_PLATFORM}/Developer/SDKs/${SIM_SDK}.sdkCC=clangCFLAGS="-DNDEBUG -g -O0 -pipe -fPIC -fcxx-exceptions"CXX=clangCXXFLAGS="${CFLAGS} -std=c++11 -stdlib=libc++"LDFLAGS="-stdlib=libc++"LIBS="-lc++ -lc++abi"if [ $BUILD_ARMV7_IPHONE -eq 1 ]thenecho "##################"echo " armv7 for iPhone"echo "##################"(cd ${PWD} make ${EXTRA_MAKE_FLAGS} distclean ./configure --build=x86_64-apple-darwin13.0.0 --host=armv7-apple-darwin13.0.0 --enable-static --disable-shared --prefix=${PREFIX} "CC=${CC}" "CFLAGS=${CFLAGS} -miphoneos-version-min=${IOS_MIN_SDK} -arch armv7 -isysroot ${IPHONEOS_SYSROOT}" "CXX=${CXX}" "CXXFLAGS=${CXXFLAGS} -arch armv7 -isysroot ${IPHONEOS_SYSROOT}" LDFLAGS="-arch armv7 -miphoneos-version-min=${IOS_MIN_SDK} ${LDFLAGS}" "LIBS=${LIBS}" make ${EXTRA_MAKE_FLAGS} make ${EXTRA_MAKE_FLAGS} install cd ${PREFIX}/platformrm -rf armv7mkdir armv7cp ${PREFIX}/lib/*.a ${PREFIX}/platform/armv7)ARMV7_IPHONE_OUTPUT=`find ${PREFIX}/platform/armv7/*.a`elseARMV7_IPHONE_OUTPUT=fiif [ $BUILD_ARMV7S_IPHONE -eq 1 ]thenecho "###################"echo " armv7s for iPhone"echo "###################"(cd ${PWD} make ${EXTRA_MAKE_FLAGS} distclean ./configure --build=x86_64-apple-darwin13.0.0 --host=armv7s-apple-darwin13.0.0 --enable-static --disable-shared --prefix=${PREFIX} "CC=${CC}" "CFLAGS=${CFLAGS} -miphoneos-version-min=${IOS_MIN_SDK} -arch armv7s -isysroot ${IPHONEOS_SYSROOT}" "CXX=${CXX}" "CXXFLAGS=${CXXFLAGS} -arch armv7s -isysroot ${IPHONEOS_SYSROOT}" LDFLAGS="-arch armv7s -miphoneos-version-min=${IOS_MIN_SDK} ${LDFLAGS}" "LIBS=${LIBS}" make ${EXTRA_MAKE_FLAGS} make ${EXTRA_MAKE_FLAGS} install cd ${PREFIX}/platformrm -rf armv7smkdir armv7scp ${PREFIX}/lib/*.a ${PREFIX}/platform/armv7s)ARMV7S_IPHONE_OUTPUT=`find ${PREFIX}/platform/armv7s/*.a`elseARMV7S_IPHONE_OUTPUT=fiif [ $BUILD_I386_IOS_SIM -eq 1 ]thenecho "###########################"echo " i386 for iPhone Simulator"echo "###########################"(cd ${PWD}make ${EXTRA_MAKE_FLAGS} distclean ./configure --build=x86_64-apple-darwin13.0.0 --host=i386-apple-darwin13.0.0 --enable-static --disable-shared --prefix=${PREFIX} "CC=${CC}" "CFLAGS=${CFLAGS} -miphoneos-version-min=${IOS_MIN_SDK} -arch i386 -isysroot ${IPHONESIMULATOR_SYSROOT}" "CXX=${CXX}" "CXXFLAGS=${CXXFLAGS} -arch i386 -isysroot ${IPHONESIMULATOR_SYSROOT}" LDFLAGS="-arch i386 -miphoneos-version-min=${IOS_MIN_SDK} ${LDFLAGS}" "LIBS=${LIBS}" make ${EXTRA_MAKE_FLAGS} make ${EXTRA_MAKE_FLAGS} installcd ${PREFIX}/platformrm -rf simmkdir simcp ${PREFIX}/lib/*.a ${PREFIX}/platform/sim)IOS_SIM_OUTPUT=`find ${PREFIX}/platform/sim/*.a`elseIOS_SIM_OUTPUT=fiecho "############################"echo " Create Mixd Libraries"echo "############################"(cd ${PREFIX}/platformrm -rf mixdmkdir -p mixd lipo ${IOS_SIM_OUTPUT} ${ARMV7_IPHONE_OUTPUT} ${ARMV7S_IPHONE_OUTPUT} -create -output ${PREFIX}/platform/mixd/lib${BUILD_TARGET}.a)) 2>&1#) >build.log 2>&1echo "done"
iOS 通用交叉編譯指令碼