iOS 通用交叉編譯指令碼

來源:互聯網
上載者:User

標籤: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 通用交叉編譯指令碼

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.