iPhone toolchain 4.0 介绍
⑴ 基于 iOS SDK 4.2, cctools 782 及 gcc 4.2.1
⑵ 支持 armv6 及 armv7
⑶ clang 支持 blocks
① 下载及安装 Ubuntu 桌面版 10.10 在虚拟机 (例如 VMWare)
http://www.ubuntu.com/desktop/get-ubuntu/download-zh
新的 Ubuntu 的 11.04 己在4月28日供下载 (需要使用 gcc-4.4)
Debian 6.0 Squeeze 也可以(但我不喜欢)
② Ubuntu 10.10 更新及安装以下软件包
③ 下载 更新 toolchain4_v2.tgz (131.99M) 解压 (115 下载 : http://u.115.com/file/f39885f794
)
迅雷快传下载 : http://kuai.xunlei.com/d/LARPQMBNIOCJ
注: toolchain4_v2.tgz 更新了支持 codesign_allocate 及 ldid
④ 安装头文件及编译 toolchain4
⑤ 安装 as_driver
安装 clang
⑥ 测试编译 iOS 4 项目 (包含测试 blocks ^)
LocalPush.ipa 安装在越狱后的 iPhone 真机测试
⑦ BatteryStatus.zip 真机测试
BatteryStatus.zip (56 K) 下载次数:705
BatteryStatus 是苹果的示例源代码,我汉化了及修改可在 toolchain 编译
BatteryStatus.ipa 安装在越狱后的 iPhone 真机测试
其他源代码 :
MPPlayer (MediaPlayer.framework)
MPPlayer.zip (388 K) 下载次数:447
iPhone toolchain 4.0 (cygwin 开发环境)
⑴ 假设在 Windows下己安装 cygwin 在 c:\cygwin,
安装时选择 Admin, Archive, Base, Devel, Libs, Net, Python, System, Utils, Web
安装 Bonjour Print Services(Windows 版)-> http://support.apple.com/kb/DL999?viewlocale=zh_CN
下载己安装头文件及编译好的 toolchain4
toolchain4_cygwin_built.tar.bz2 (182.71MB) (115 下载 : http://u.115.com/file/e6y9axmh )
toolchain4_cygwin.tar.bz2 增加 iOS SDK5.0 及 5.1头文件及 theos (115 下载 : http://115.com/file/dpb0o38r )
或迅雷快传下载 (479.38MB) : http://kuai.xunlei.com/d/LFTMPOIMPFBI
将 toolchain4_cygwin.tar.bz2 放在 c:\cygwin 下
⑵ 进入 cygwin 环境內
⑶ 安装 toolchain4 文件夹
⑷ 下载及安装 clang
下载这个安装包 clang.tar.bz2 : http://u.115.com/file/bhzoyxnj
或迅雷快传下载 (592.62MB) : http://kuai.xunlei.com/d/LGDVHBCSSGCB
放在 c:\cygwin 下
安装 clang
⑸ 安装 as_driver
⑹ 测试编译 iOS 4 项目 (包含测试 blocks ^)
⑺ 测试编译 preferenceloader
⑻测试编译 widgettest
⑼ 测试其他项目例如
BatteryStatus
BatteryStatus.zip (56 K) 下载次数:705
MPPlayer
MPPlayer.zip (388 K) 下载次数:447
⑽ 测试编译 UICatalog
.
.
.
更新 : Makefile 文档内的CPP的应该修改为 clang++ 如下
⑴ 基于 iOS SDK 4.2, cctools 782 及 gcc 4.2.1
⑵ 支持 armv6 及 armv7
⑶ clang 支持 blocks
① 下载及安装 Ubuntu 桌面版 10.10 在虚拟机 (例如 VMWare)
http://www.ubuntu.com/desktop/get-ubuntu/download-zh
新的 Ubuntu 的 11.04 己在4月28日供下载 (需要使用 gcc-4.4)
- sudo apt-get install gcc-4.4 g++-4.4 gobjc-4.4
- sudo update-alternatives --remove-all gcc
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44
- --slave /usr/bin/g++ g++ /usr/bin/g++-4.4
- --slave /usr/bin/gcov gcov /usr/bin/gcov-4.4
Debian 6.0 Squeeze 也可以(但我不喜欢)
② Ubuntu 10.10 更新及安装以下软件包
- sudo apt-get update
- sudo apt-get install bison flex build-essential wget patch
- sudo apt-get install git autoconf gawk libssl-dev libxml2-dev uuid-dev
③ 下载 更新 toolchain4_v2.tgz (131.99M) 解压 (
迅雷快传下载 : http://kuai.xunlei.com/d/LARPQMBNIOCJ
- cd ~
- tar xzvf ~/Downloads/toolchain4_v2.tgz
注: toolchain4_v2.tgz 更新了支持 codesign_allocate 及 ldid
④ 安装头文件及编译 toolchain4
- cd ~/toolchain4
- ./toolchain.sh xar
- ./toolchain.sh buildsys
- ./toolchain.sh cctools
- ./toolchain.sh llvmgcc
- ./toolchain.sh ldid
⑤ 安装 as_driver
- cd ~/toolchain4/as_driver
- make
- cd /usr/bin
- sudo mv as i686-linux-gnu-as
- sudo cp -p ~/toolchain4/as_driver/as_driver as
- sudo ln -s ~/toolchain4/pre/bin/arm-apple-darwin9-as .
- sudo mv ld i686-linux-gnu-ld
- sudo cp -p ~/toolchain4/as_driver/as_driver ld
- sudo ln -s ~/toolchain4/pre/bin/arm-apple-darwin9-ld .
安装 clang
- sudo apt-get install clang
⑥ 测试编译 iOS 4 项目 (包含测试 blocks ^)
- cd ~/toolchain4/Projects/LocalPush
- make
- make dist
- (LocalPush.ipa 就在 build/4.0 文件夹内)
LocalPush.ipa 安装在越狱后的 iPhone 真机测试
⑦ BatteryStatus.zip 真机测试
![](http://bbs.weiphone.com/images/weiphone/file/zip.gif)
BatteryStatus 是苹果的示例源代码,我汉化了及修改可在 toolchain 编译
- cd BatteryStatus
- make
- make dist
- (BatteryStatus.ipa 就在 build/4.0 文件夹内)
BatteryStatus.ipa 安装在越狱后的 iPhone 真机测试
![](http://images.weiphone.com/attachments/Day_110424/39_261697_f08fa140923bb65.png)
其他源代码 :
MPPlayer (MediaPlayer.framework)
![](http://bbs.weiphone.com/images/weiphone/file/zip.gif)
![](http://images.weiphone.com/attachments/Day_100227/36_456283_7ce9ed48b2d91c0.jpg)
iPhone toolchain 4.0 (cygwin 开发环境)
⑴ 假设在 Windows下己安装 cygwin 在 c:\cygwin,
安装时选择 Admin, Archive, Base, Devel, Libs, Net, Python, System, Utils, Web
安装 Bonjour Print Services(Windows 版)-> http://support.apple.com/kb/DL999?viewlocale=zh_CN
下载己安装头文件及编译好的 toolchain4
toolchain4_cygwin.tar.bz2 增加 iOS SDK5.0 及 5.1头文件及 theos (115 下载 : http://115.com/file/dpb0o38r )
或迅雷快传下载 (479.38MB) : http://kuai.xunlei.com/d/LFTMPOIMPFBI
将 toolchain4_cygwin.tar.bz2 放在 c:\cygwin 下
⑵ 进入 cygwin 环境內
![](http://images.weiphone.com/attachments/Day_120807/39_261697_87fbe80dfab3926.jpeg)
⑶ 安装 toolchain4 文件夹
- tar xjvf /toolchain4_cygwin.tar.bz2 -C /
⑷ 下载及安装 clang
下载这个安装包 clang.tar.bz2 : http://u.115.com/file/bhzoyxnj
或迅雷快传下载 (592.62MB) : http://kuai.xunlei.com/d/LGDVHBCSSGCB
放在 c:\cygwin 下
安装 clang
- tar xjvf /clang.tar.bz2 -C /
⑸ 安装 as_driver
- cd /toolchain4/as_driver
- make
- cd /usr/bin
- mv as i686-pc-cygwin-as
- cp -p /toolchain4/as_driver/as_driver as
- ln -s /toolchain4/pre/bin/arm-apple-darwin9-as .
- mv ld i686-pc-cygwin-ld
- cp -p /toolchain4/as_driver/as_driver ld
- ln -s /toolchain4/pre/bin/arm-apple-darwin9-ld .
⑹ 测试编译 iOS 4 项目 (包含测试 blocks ^)
- cd /toolchain4/Projects/LocalPush
- make
- make dist
- (LocalPush.ipa 就在 build/4.0 文件夹内)
⑺ 测试编译 preferenceloader
- cd /toolchain4/Projects/preferenceloader
- make
- make stage
- make deb
- (preferenceloader_2.0.3_iphoneos-arm.deb 就在文件夹内)
⑻测试编译 widgettest
- cd /toolchain4/Projects/widgettest
- make
- make stage
- make deb
- (com.yourcompany.widgettest_0.0.1_iphoneos-arm.deb 就在文件夹内)
⑼ 测试其他项目例如
BatteryStatus
![](http://bbs.weiphone.com/images/weiphone/file/zip.gif)
MPPlayer
![](http://bbs.weiphone.com/images/weiphone/file/zip.gif)
- cd BatteryStatus
- make TOOLCHAIN=/toolchain4
- make TOOLCHAIN=/toolchain4 diet
- (BatteryStatus.ipa 就在 build/4.0 文件夹内)
⑽ 测试编译 UICatalog
- cd /toolchain4/Projects/UICatalog
- make
- make dist
- (UICatalog.ipa 就在 build/4.0 文件夹内)
.
.
.
更新 : Makefile 文档内的CPP的应该修改为 clang++ 如下
- CC:=clang -ccc-host-triple arm-apple-darwin9
- CPP:=clang++ -ccc-host-triple arm-apple-darwin9
- LD:=$(TOOLCHAIN)/pre/bin/arm-apple-darwin9-gcc
- 。。。
- %.o: %.m
- $(CC) -include $(PCH) -c $(CFLAGS) $< -o $@
- %.o: %.mm
- $(CPP) -include $(PCH) -c $(CFLAGS) $< -o $@