iPhone toolchain 4.0 (Ubuntu 10.10 开发环境)

来源:互联网 发布:windows魔法助手 编辑:程序博客网 时间:2024/05/28 17:07
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)
复制代码
  1. sudo apt-get install gcc-4.4 g++-4.4 gobjc-4.4
  2. sudo update-alternatives --remove-all gcc
  3. sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44  
  4. --slave /usr/bin/g++ g++ /usr/bin/g++-4.4
  5. --slave /usr/bin/gcov gcov /usr/bin/gcov-4.4


     Debian 6.0 Squeeze 也可以(但我不喜欢)

② Ubuntu 10.10 更新及安装以下软件包
复制代码
  1. sudo apt-get update
  2. sudo apt-get install bison flex build-essential wget patch
  3. sudo apt-get install git autoconf gawk libssl-dev libxml2-dev uuid-dev


③ 下载 更新toolchain4_v2.tgz (131.99M) 解压 (115 下载 : http://u.115.com/file/f39885f794)
迅雷快传下载 : http://kuai.xunlei.com/d/LARPQMBNIOCJ
复制代码
  1. cd ~
  2. tar xzvf ~/Downloads/toolchain4_v2.tgz


注: toolchain4_v2.tgz 更新了支持 codesign_allocate 及 ldid

④ 安装头文件及编译 toolchain4
复制代码
  1. cd ~/toolchain4
  2. ./toolchain.sh xar
  3. ./toolchain.sh buildsys
  4. ./toolchain.sh cctools
  5. ./toolchain.sh llvmgcc
  6. ./toolchain.sh ldid


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


安装 clang
复制代码
  1. sudo apt-get install clang


⑥ 测试编译 iOS 4 项目 (包含测试 blocks ^)
复制代码
  1. cd ~/toolchain4/Projects/LocalPush
  2. make
  3. make dist
  4. (LocalPush.ipa 就在 build/4.0 文件夹内)


LocalPush.ipa 安装在越狱后的 iPhone 真机测试

⑦ BatteryStatus.zip 真机测试  BatteryStatus.zip (56 K) 下载次数:705 
BatteryStatus 是苹果的示例源代码,我汉化了及修改可在 toolchain 编译
复制代码
  1. cd BatteryStatus
  2. make
  3. make dist
  4. (BatteryStatus.ipa 就在 build/4.0 文件夹内)

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 文件夹
复制代码
  1. 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
复制代码
  1. tar xjvf /clang.tar.bz2 -C /


⑸ 安装 as_driver
复制代码
  1. cd /toolchain4/as_driver
  2. make
  3. cd /usr/bin
  4. mv as i686-pc-cygwin-as
  5. cp -p /toolchain4/as_driver/as_driver as
  6. ln -s /toolchain4/pre/bin/arm-apple-darwin9-as .
  7. mv ld i686-pc-cygwin-ld
  8. cp -p /toolchain4/as_driver/as_driver ld
  9. ln -s /toolchain4/pre/bin/arm-apple-darwin9-ld .


⑹ 测试编译 iOS 4 项目 (包含测试 blocks ^)
复制代码
  1. cd /toolchain4/Projects/LocalPush
  2. make
  3. make dist
  4. (LocalPush.ipa 就在 build/4.0 文件夹内)


⑺ 测试编译 preferenceloader
复制代码
  1. cd /toolchain4/Projects/preferenceloader
  2. make
  3. make stage
  4. make deb
  5. (preferenceloader_2.0.3_iphoneos-arm.deb 就在文件夹内)


⑻测试编译 widgettest
复制代码
  1. cd /toolchain4/Projects/widgettest
  2. make
  3. make stage
  4. make deb
  5. (com.yourcompany.widgettest_0.0.1_iphoneos-arm.deb 就在文件夹内)


⑼ 测试其他项目例如 
     BatteryStatus  BatteryStatus.zip (56 K) 下载次数:705 
     MPPlayer  MPPlayer.zip (388 K) 下载次数:447 
复制代码
  1. cd BatteryStatus
  2. make TOOLCHAIN=/toolchain4
  3. make TOOLCHAIN=/toolchain4 diet
  4. (BatteryStatus.ipa 就在 build/4.0 文件夹内)


⑽ 测试编译 UICatalog
复制代码
  1. cd /toolchain4/Projects/UICatalog
  2. make
  3. make dist
  4. (UICatalog.ipa 就在 build/4.0 文件夹内)

.
.
.


更新: Makefile 文档内的CPP的应该修改为 clang++ 如下
复制代码
  1. CC:=clang -ccc-host-triple arm-apple-darwin9
  2. CPP:=clang++ -ccc-host-triple arm-apple-darwin9
  3. LD:=$(TOOLCHAIN)/pre/bin/arm-apple-darwin9-gcc
  4. 。。。
  5. %.o:    %.m
  6.     $(CC) -include $(PCH) -c $(CFLAGS) $< -o $@
  7. %.o:    %.mm
  8.     $(CPP) -include $(PCH) -c $(CFLAGS) $< -o $@
原创粉丝点击