发现在安装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终端,输入下列代码安装
===================================================================
花了大概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内)
2.2.获取clang的源码
2.3.编译和安装llvm和clang(这里时间很漫长,特别是make的时候,又可以爱干什么干什么了,configure+make+make install估计要2个小时)
2.4.查看下clang的版本,看看是不是安装成功了,我的显示是3.0版的了
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
3.3.如果是下的压缩包的,将下载的toolchain4压缩包放到你安装cygwin的目录下,假定你是装在c:/cygwin,则放到c:/cygwin下,然后打开cygwin的终端,解压缩。这里的代码是我下载的原版tar.gz的解压缩代码
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命令,代码如下
或者用任何有查找替换功能的软件打开toolchain.sh,然后将sudo替换为空,保存。
4.3.建立4.3的头文件,打开cygwin,输入下列代码。如果用的是4.2的pkg,则下面buildsys43改为buildsys。 如果使用pkg安装,请安装更新里提供的xar
或者对于4.2环境
4.3.下载cctools,打补丁,编译安装。这里第一次执行./toolchain.sh cctools肯定会报错的,欧不知道如何单独用命令下载src里的cctool,可以在发现开始configure时就用ctrl c来停止,
报错停止后用patch命令来打补丁,打过补丁就可以编译安装通过了。话说打好补丁后再次执行./toolchain.sh cctools会问你是不是重新下载cctools(Download cctools again? [y/N]),输入n来否定萨,不然补丁白打了
4.4.下载gcc和ldid并编译安装
4.5.安装as_driver
到这里,toolchain4就编译好了,下面是编个软件装机器上试试
5.软件测试LocalPush.做好的ipa软件在LocalPush文件夹里面build文件夹下4.0里面,越狱过的机器可以安装,我装在我的it4上过了
其他测试例子看参考内容吧
参考内容:
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这样的目录的情况,这个是要报错的,所以就都改掉了
===============================================================
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.下载

2.打开cygwin终端,输入下列代码安装
- cd /
- tar xf xar-1.5.2.tar
- tar xf libxar1-1.5.2-1.tar
- 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内)
- cd /
- svn co http://llvm.org/svn/llvm-project/llvm/trunk llvm
2.2.获取clang的源码
- cd llvm/tools
- svn co http://llvm.org/svn/llvm-project/cfe/trunk clang
2.3.编译和安装llvm和clang(这里时间很漫长,特别是make的时候,又可以爱干什么干什么了,configure+make+make install估计要2个小时)
- cd ../..
- mkdir build
- cd build
- ../llvm/configure
- make
- make install
2.4.查看下clang的版本,看看是不是安装成功了,我的显示是3.0版的了
- cd /
- 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日版

3.2.如果你不喜欢下载压缩包的,则打开cygwin的终端,输入下面代码来获取toolchain4
- cd /
- git clone git://github.com/javacom/toolchain4.git
3.3.如果是下的压缩包的,将下载的toolchain4压缩包放到你安装cygwin的目录下,假定你是装在c:/cygwin,则放到c:/cygwin下,然后打开cygwin的终端,解压缩。这里的代码是我下载的原版tar.gz的解压缩代码
- cd /
- tar xzf javacom-toolchain4-677a6b0.tar.gz
- mv javacom-toolchain4-677a6b0 toolchain4
3.4.下载欧做的补丁包 toolchain补丁,包含toolchain.sh和cctools的补丁

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命令,代码如下
- cd /toolchain4
- patch -p0 < ./toolchain.sh.patch
或者用任何有查找替换功能的软件打开toolchain.sh,然后将sudo替换为空,保存。
4.3.建立4.3的头文件,打开cygwin,输入下列代码。如果用的是4.2的pkg,则下面buildsys43改为buildsys。 如果使用pkg安装,请安装更新里提供的xar
- cd /toolchain4
- ./toolchain.sh buildsys43
或者对于4.2环境
- cd /toolchain4
- ./toolchain.sh buildsys
4.3.下载cctools,打补丁,编译安装。这里第一次执行./toolchain.sh cctools肯定会报错的,欧不知道如何单独用命令下载src里的cctool,
- cd /toolchain4
- ./toolchain.sh cctools
- patch -p0 < ./cctools.patch
- ./toolchain.sh cctools
4.4.下载gcc和ldid并编译安装
- cd /toolchain4
- ./toolchain.sh llvmgcc
- ./toolchain.sh ldid
4.5.安装as_driver
- cd /toolchain4/as_driver
- make
- cd /usr/bin
- mv as i686-linux-gnu-as
- cp -p /toolchain4/as_driver/as_driver as
- ln -s /toolchain4/pre/bin/arm-apple-darwin9-as .
- mv ld i686-linux-gnu-ld
- cp -p /toolchain4/as_driver/as_driver ld
- ln -s /toolchain4/pre/bin/arm-apple-darwin9-ld .
到这里,toolchain4就编译好了,下面是编个软件装机器上试试
5.软件测试LocalPush.做好的ipa软件在LocalPush文件夹里面build文件夹下4.0里面,越狱过的机器可以安装,我装在我的it4上过了
- cd /toolchain4/Projects/LocalPush
- make
- 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安装好了.