Ubuntu上构筑iPhone OS3.1.2开发环境
2010-05-26 15:35:00 来源:WEB开发网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 [ ! "$DECRYPTION_KEY_SYSTEM" ] ; 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 <stdio.h>
2 #include <stdlib.h>
以下是我修改的文件:
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”
更多精彩
赞助商链接