http://bbs.weiphone.com/read-htm-tid-1663675.html
Linus Yang原创教程
t.sina.com.cn/linusyang
论坛上ipod4g的文章
http://bbs.weiphone.com/read-htm-tid-758205.html
http://bbs.weiphone.com/read-htm-tid-803479.html
详细介绍如何在iOS上搭建平台,进行开发,操作步骤较多,不易掌握。
而本文中,我将部分关键的头文件和动态链接库事先打包好,简化安装步骤,并且最终也不是要进行完整的iPhone开发,仅仅能保证编译、运行、调试基本的C/C++程序,可以进行简单的命令行编程,较为实用。
1、下载:
包含gcc和gdb完整安装包的下载地址:(已包含头文件)
http://u.115.com/file/f3cb3f7778
单独下载打包好的头文件。(上面一个要是下载了,就不用下载这个了。)
1.1版:(提取自iOS SDK 4.2) headfile_1.1_iphoneos-arm.deb (2298 K) 下载次数:184
1.0版:(提取自iPhone OS SDK 3.0) headfile_1.0_iphoneos-arm.deb (2435 K) 下载次数:52
注:如果设备还在运行iPhone OS 3.0,而且用1.1版头文件包编译不通过的,就试试这个1.0版的头文件包:
在Cydia中找到"Include head files",卸载掉,再安装1.0版。
2、安装:
解压后,将文件传到设备上,安装文件夹内所有deb包即可。
具体可以用以下三种方法:
引用方法一:(推荐)
预先安装好OpenSSH,利用WinSCP(Windows)或Terminal(Unix)以root身份登录你的设备,进入目录,使用命令安装所有安装包。
- dpkg -i *.deb
方法二:
预先安装好MobileTerminal,利用 su root 命令改为root用户,再进入目录,使用命令安装所有安装包。
- dpkg -i *.deb
注:如使用iOS4和iPad,请不要安装Cydia源自带的Terminal,可以安装这个:
MobileTerminal_520-1
方法三:
使用iFile,进入目录,安装所有的包。(可以忽略返回值不是0的问题,依赖包已经全部包含进来了。)
至此,gcc和gdb已经安装完成,可以直接开始编译了!
3、编译运行:
第一步,可以使用任何文本编辑器,比如用GoodReader/QuickOffice/iFile甚至Cydia中提供的Vim编写源代码,扩展名可以为.c或.cpp,然后再放到指定目录编译,比如/var/mobile。
第二步,使用OpenSSH或MobileTerminal登录设备(无需root帐户,mobile用户即可),输入如下命令:
先转到工作目录:
- cd /var/mobile
对于c语言:
- gcc hello.c -o hello
- ./hello
对于c++:
- g++ hellop.cpp -o hellop
- ./hellop
这时候就可以看到运行结果了。
补充:
若此时仍无法运行,请给程序数字签名后再运行,比如:
- gcc hello.c -o hello
- ldid -S hello
- ./hello
因为现在大多数越狱都给内核打了补丁,就不需要ldid数字签名这一步了,所以4.1,4.2.1越狱后的设备都可以省略这一步。
4、有关调试:
编译的时候加入-g参数,比如
- gcc -g hello.c -o hello
即可用gdb调试,具体调试方法,可以参阅相关gdb的资料。这里我就不详述了。
已在iOS 4.1(limera1n)/iOS 4.2.1(Pwnage4.2自制固件)/ARMv7的环境下测试通过。
转载请注明出处,欢迎各位跟帖回复讨论!