tag 标签: iphone开发环境

相关博文
  • 热度 10
    2012-2-17 15:47
    1539 次阅读|
    0 个评论
    在建立编译环境前,请先下载好所需的SDK和Firmware文件:   iPhone1,2_3.1.2_7D11_Restore.ipsw    http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw     iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg   http://shuqun.com/files/iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg   我的Linux HOST环境为Ubuntu 9.10(Karmic Koala),在这里利用iphonedevonlinux建立toolchain。   首先配置好编译所需的HOST环境,在终端中输入以下命令:   1 sudo apt-get install automake bison cpio flex g++ g++-4.3 g++-4.3-multilib gawk gcc-4.3 git-core gobjc-4.3 gzip libbz2-dev libcurl4-openssl-dev libssl-dev make mount subversion sudo tar unzip uuid uuid-dev wget xar zlib1g-dev   点击这里获取iphonedevonlinux源代码:   1 $ mkdir -p ~/iphone/toolchain   2 $ cd ~/iphone/toolchain   3 $ svn checkout http://iphonedevonlinux.googlecode.com/svn/trunk/ ./   目前checkout out的svn版本为83。   拷贝SDK,firmware文件到相应目录:   1 $ mkdir -p ~/iphone/toolchain/files/firmware   2 $ mv ./iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg ~/iphone/toolchain/files/   3 $ mv ./iPhone1,2_3.1.2_7D11_Restore.ipsw ~/iphone/toolchain/files/firmware/   手动设置密匙,注释掉toolchain.sh中下载密匙的代码:   1 $ gedit ~/iphone/toolchain/toolchain.sh   01 unzip -d "${TMP_DIR}" -o "${FW_FILE}" "${FW_RESTORE_SYSTEMDISK}"   02   03 #if ; then   04 #echo "We need the decryption key for `basename $FW_RESTORE_SYSTEMDISK`."   05 #echo "I'm going to try to fetch it from $IPHONEWIKI_KEY_URL...."   06 #   07 #IPHONEWIKI_KEY_URL=$( wget --quiet -O - $IPHONEWIKI_KEY_URL | awk ' 第1页 第2页 第3页      在建立编译环境前,请先下载好所需的SDK和Firmware文件:   iPhone1,2_3.1.2_7D11_Restore.ipsw    http://appldnld.apple.com.edgesuite.net/content.info.apple.com/iPhone/061-7265.20091008.Xsd32/iPhone1,2_3.1.2_7D11_Restore.ipsw       iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg   http://shuqun.com/files/iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg   我的Linux HOST环境为Ubuntu 9.10(Karmic Koala),在这里利用iphonedevonlinux建立toolchain。   首先配置好编译所需的HOST环境,在终端中输入以下命令:   1 sudo apt-get install automake bison cpio flex g++ g++-4.3 g++-4.3-multilib gawk gcc-4.3 git-core gobjc-4.3 gzip libbz2-dev libcurl4-openssl-dev libssl-dev make mount subversion sudo tar unzip uuid uuid-dev wget xar zlib1g-dev   点击这里获取iphonedevonlinux源代码:   1 $ mkdir -p ~/iphone/toolchain   2 $ cd ~/iphone/toolchain   3 $ svn checkout http://iphonedevonlinux.googlecode.com/svn/trunk/ ./   目前checkout out的svn版本为83。   拷贝SDK,firmware文件到相应目录:   1 $ mkdir -p ~/iphone/toolchain/files/firmware   2 $ mv ./iphone_sdk_3.1.2_with_xcode_3.1.4__leopard__9m2809.dmg ~/iphone/toolchain/files/   3 $ mv ./iPhone1,2_3.1.2_7D11_Restore.ipsw ~/iphone/toolchain/files/firmware/   手动设置密匙,注释掉toolchain.sh中下载密匙的代码:   1 $ gedit ~/iphone/toolchain/toolchain.sh   01 unzip -d "${TMP_DIR}" -o "${FW_FILE}" "${FW_RESTORE_SYSTEMDISK}"   02   03 #if ; then   04 #echo "We need the decryption key for `basename $FW_RESTORE_SYSTEMDISK`."   05 #echo "I'm going to try to fetch it from $IPHONEWIKI_KEY_URL...."   06 #   07 #IPHONEWIKI_KEY_URL=$( wget --quiet -O - $IPHONEWIKI_KEY_URL | awk ' 第1页 第2页 第3页       接上页   08 #BEGIN { IGNORECASE = 1; }   09 #/name="'${DEVICE}'/ { found_phone=1; }   10 #/.*'${TOOLCHAIN_VERSION}'.*/ found_phone { found_firmware=1; }   11 #/.*href=../../../.*/ found_firmware { while(sub(/href=|"/,"", $3));; print $3; exit;}   12 #')   13   14 #DECRYPTION_KEY_SYSTEM=`wget --quiet -O - "http://www.theiphonewiki.com"$IPHONEWIKI_KEY_URL | awk '   15 #BEGIN { IGNORECASE = 1; }   16 #/.*VFDecrypt.*/ { print $3;}   17 #'`   18   19 DECRYPTION_KEY_SYSTEM="a8a886d56011d2d98b190d0a498f6fcac719467047639cd601fd53a4a1d93c24e1b2ddc6"   20   21 if ; then   我们可以利用   1 $ sudo ./toolchain.sh all   自动编译toolchain,但容易出现很多问题。这里我们采用手动一步步编译:   1 $ sudo./toolchain.sh headers   2 $ sudo./toolchain.sh firmware   3 $ sudo./toolchain.sh darwin_sources   4 $ sudo./toolchain.sh build   一般来说前三步都不会出现什么问题。(有问题请留言)   最后一步toolchain.sh build中会报错,这时打开~/iphone/toolchain/toolchain/bld/cctools-iphone/make.log,搜索”error:”,在报错的文件中加上:   1 #include   2 #include   以下是我修改的文件:   ArchiveReader.hpp MachOReaderDylib.hpp MachOWriterExecutable.hpp OpaqueSection.hpp ld.cpp Options.cpp   重新build即可。注意不要重新checkout代码,不然又要重改一遍。。。   如果出现”It seems like the toolchain built!”,说明toolchain build成功。   之后可以利用apps下的代码测试下toolchain,一般会遇到两个问题:   1. 找不到编译器 arm-apple-darwin9-gcc   在~/.bashrc中添加环境变量即可   1 $ sudo gedit ~/.bashrc   增加export PATH=~/iphone/toolchain/toolchain/pre/bin:$PATH   2. 提示”ld: library not found for -lobjc” 第1页 第2页 第3页       接上页   拷贝以下目录到编译器库中:   1 mv ~/iphone/toolchain/toolchain/sys/System ~/iphone/toolchain/toolchain/sys/System2   2 mv ~/iphone/toolchain/toolchain/sys/usr/lib ~/iphone/toolchain/toolchain/sys/usr/lib2   3 cp ~/iphone/toolchain/sdks/iPhoneOS3.1.2.sdk/System ~/iphone/toolchain/toolchain/sys/   4 cp ~/iphone/toolchain/sdks/iPhoneOS3.1.2.sdk/usr/lib ~/Projects/iphone/toolchain/toolchain/sys/usr/ 第1页 第2页 第3页    本文链接:http://www.elexcon.com/news/55495.html(iPhone开发环境)