您的位置:首页 > 编程语言 > C语言/C++

在 iOS 上使用 gcc 编译 C/C++ 文件

2012-05-12 23:50 369 查看
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的环境下测试通过。

转载请注明出处,欢迎各位跟帖回复讨论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐