iOS_iPhone toolchain 4 (cygwin 开发环境)

发现在安装as_driver后,configure会错,报c compile没有,所以如果想编译clang的,先装好clang,再装as_driver,主要和as被替换有关,看了下as_driver的c代码,似乎写死了i686-linux-gnu-ld 和i686-linux-gnu-as,估计是自己当初自作聪明把cygwin下的改名改成cygwin导致的(一直以为那个改名是备份。。。。。。),还是根据linux下的命令来吧。。。。。。 
===============================================================
4.30更新: 
1.添加toolchain.sh的修改方法,不用补丁,改成替换sodu为空,因为原版更新过了,原来的补丁失效了. 
2.更新as_driver的安装方法,添加原版里的内容
3.添加toolchain4在4月26日的压缩包一个
=============================================================== 
更新: 
如果使用pkg来安装头文件的话需要xar,这里提供下我找来的直接可以用的xar-1.5.2,用./toolchain.sh xar来做xar时,我的环境报错萨. 
xar安装: 
1.下载  xar.zip (87 K) 下载次数:253  ,解压缩后得到3个tar包,把tar包放入cygwin根目录,例如c:/cygwin 
2.打开cygwin终端,输入下列代码安装 
  1. cd /
  2. tar xf xar-1.5.2.tar
  3. tar xf libxar1-1.5.2-1.tar
  4. tar xf libxar-devel-1.5.2-1.tar

=================================================================== 
花了大概3天时间吧,总算是在cygwin下把toolchain 4.3的开发环境搭好了,这里分享下小经验 
1.在win下安装cygwin(我装的是最新的1.7.9) 
1.1.到 http://www.cygwin.com/ 去下载 setup.exe ,这个能安装最新的1.7.9 
1.2.打开setup.exe,我选择的是install from internet,然后我选择了一个日本的服务器是 http://ftp.jaist.ac.jp 来安装source,速度在无人时也有200k了。如果要local install的,我看看能不能传个我自己下载的source包上来,挺大的(解压有1g,我下的东西比较多)。话说之前cygwin放在哪个盘和source放哪里其实都无所谓,不过cygwin一定要安装在根目录下,我装了2次,第一次放c盘,编译成功了,然后换了个e盘重新下载安装了遍,还是成功。 
1.3.选择Admin, Archive, Base, Devel, Libs, Net, Python, System, Utils, Web为install。这里可能有多余的目录,比如说Base。Libs是因为编译xar时报错所以选的,似乎也没有用。Python是我为了编译cyg-apt用来代替apt的,但是没有用,不过clang的官网有提到如果要测试,需要python,实际是否调用不知道。 
1.4.下一步下去吧,网络安装要比较长时间,可以去喝茶了,如果网速慢的可以去睡觉或拿电脑干别的事了,让setup.exe自己去干活。local安装的就快多了,不过也得等个几分钟,装完setup.exe会告诉你的。 

2.安装clang(参考 clang官方安装使用说明(英文) ) 
2.1.打开安装好的cygwin,输入下列代码来获取llvm的源码(我喜欢装在cygwin的根目录下,比较醒目,获取到的源码放在/llvm内) 
  1. cd /
  2. svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm

2.2.获取clang的源码 
  1. cd llvm/tools
  2. svn co http://llvm.org/svn/llvm-project/cfe/trunk clang

2.3.编译和安装llvm和clang(这里时间很漫长,特别是make的时候,又可以爱干什么干什么了,configure+make+make install估计要2个小时) 
  1. cd ../..
  2. mkdir build
  3. cd build
  4. ../llvm/configure
  5. make
  6. make install

2.4.查看下clang的版本,看看是不是安装成功了,我的显示是3.0版的了 
  1. cd /
  2. clang -v


3.下载toolchain4 
3.1.原版在 toolchain4原版地址(内有英文安装说明和下载) ,或者去 iPhone toolchain 4.0 (Ubuntu 10.10 开发环境)  里下一个ipod4g加过sdk包的。我是原版的下的tar.gz格式的(94k)  解压后为javacom-toolchain4-677a6b0.tar.gz,4月26日版 toolchain4.tar.gz.zip (95 K) 下载次数:157  ,ipod4g的那个也试过都没问题 
3.2.如果你不喜欢下载压缩包的,则打开cygwin的终端,输入下面代码来获取toolchain4 
  1. cd /
  2. git clone git://github.com/javacom/toolchain4.git

3.3.如果是下的压缩包的,将下载的toolchain4压缩包放到你安装cygwin的目录下,假定你是装在c:/cygwin,则放到c:/cygwin下,然后打开cygwin的终端,解压缩。这里的代码是我下载的原版tar.gz的解压缩代码 
  1. cd /
  2. tar xzf javacom-toolchain4-677a6b0.tar.gz
  3. mv javacom-toolchain4-677a6b0 toolchain4

3.4.下载欧做的补丁包 toolchain补丁,包含toolchain.sh和cctools的补丁 patch.zip (52 K) 下载次数:2455  ,解压缩后得到2个patch文件,放入toolchain4目录下 

4.建立toolchain4环境 
4.1.下载ios4.2或4.3的sdk,放入toolchain4的sdks目录,如果没有sdks目录,自己建一个放进去。下的ipod4g的toolchain的,可以不用下载4.2的sdk了。 
这里提供我做的4.3的sdk包,我自己用下来可以的,同时提供从ipod4g的toolchain里拿出来的4.2的pkg(联想网盘,速度不保证,我没115账号) 
4.3的sdk包,自己压缩的,可以下载100次  
4.2的sdk的pkg下载,总共100次下载机会  
4.2.给toolchain.sh打补丁来删除不能执行的sudo命令,代码如下 
  1. cd /toolchain4
  2. patch -p0 < ./toolchain.sh.patch

或者用任何有查找替换功能的软件打开toolchain.sh,然后将sudo替换为空,保存。 
4.3.建立4.3的头文件,打开cygwin,输入下列代码。如果用的是4.2的pkg,则下面buildsys43改为buildsys。 如果使用pkg安装,请安装更新里提供的xar 
  1. cd /toolchain4
  2. ./toolchain.sh buildsys43

或者对于4.2环境 
  1. cd /toolchain4
  2. ./toolchain.sh buildsys

4.3.下载cctools,打补丁,编译安装。这里第一次执行./toolchain.sh cctools肯定会报错的,欧不知道如何单独用命令下载src里的cctool, 可以在发现开始configure时就用ctrl c来停止, 报错停止后用patch命令来打补丁,打过补丁就可以编译安装通过了。话说打好补丁后再次执行./toolchain.sh cctools会问你是不是重新下载cctools(Download cctools again? [y/N]),输入n来否定萨,不然补丁白打了 
  1. cd /toolchain4
  2. ./toolchain.sh cctools
  3. patch -p0 < ./cctools.patch
  4. ./toolchain.sh cctools

4.4.下载gcc和ldid并编译安装 
  1. cd /toolchain4
  2. ./toolchain.sh llvmgcc
  3. ./toolchain.sh ldid

4.5.安装as_driver 
  1. cd /toolchain4/as_driver
  2. make
  3. cd /usr/bin
  4. mv as i686-linux-gnu-as
  5. cp -p /toolchain4/as_driver/as_driver as
  6. ln -s /toolchain4/pre/bin/arm-apple-darwin9-as .
  7. mv ld i686-linux-gnu-ld
  8. cp -p /toolchain4/as_driver/as_driver ld
  9. ln -s /toolchain4/pre/bin/arm-apple-darwin9-ld .

到这里,toolchain4就编译好了,下面是编个软件装机器上试试 

5.软件测试LocalPush.做好的ipa软件在LocalPush文件夹里面build文件夹下4.0里面,越狱过的机器可以安装,我装在我的it4上过了 
  1. cd /toolchain4/Projects/LocalPush
  2. make
  3. make dist


其他测试例子看参考内容吧 

参考内容: 
1. iPhone toolchain 4.0 (Ubuntu 10.10 开发环境) 
2. toolchain4原版地址(内有英文安装说明)  
3. clang官方安装使用说明(英文)  
4. win下toolchain 3.x的环境,2楼详细说明  

补充: 
1.cctool的patch主要是根据报错参考3.x的toolchain的source的,只有ld64下的ld.cpp里我注释掉了re-map的相关代码,不然gcc编译会报错,后果未知,方法是借鉴google下一个老外的自我解决,他说改ld.cpp就好了,然后他说缺陷是arm7相关编译会有问题,这个我是ios开发新手,不懂萨。另外cctool的patch还把所有Makefile.in给改了,里面install的路径里都加入了前面的路径,但是toolchain4如果是放在根目录下的就会出现要创建//xxx这样的目录的情况,这个是要报错的,所以就都改掉了 

2.clang的安装和toolchain4的安装是可以颠倒的,我装过2次环境,第一次是先编译的clang,后装toolchain4,第二次先把toolchain4编译好了,然后测试了下软件编译,发现不支持fblock,只有用clang来进行fblock的操作,所以再装的clang,没有问题。

3.安装npm

cd npm

node cli.js install npm -gf

等待...git就会联网把npm下载到nodejs的目录中.并且安装配置好.
运行cmd,输入npm如果没有提示无法找到命令之类的提示说明npm安装好了.

转载自:http://bbs.weiphone.com/read-htm-tid-2062719.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值