因为GCC在iOS上的种种问题,所以放弃了GCC采用Clang编译C/C++。

一、添加BigBoss源

一般cydia默认都带有BigBoss源,当然如果你删除了请添加回来,源地址:http://apt.thebigboss.org/repofiles/cydia/

二、安装LLVM+Clang、LD64和MTerminal

直接在cydia中搜索安装即可,注意LLVM+Clang文件会比较大。

三、导入头文件和链接库

iOS8的话可以点击这里下载,其他iOS版本没测试,理论上问题不太大。

将下载下来的压缩包放到iOS中的/var/root目录下(实际上可以随便放,不过后面还要用到这个路径),用iOS中的iFile(如果没有请到cydia安装)对压缩包解压:

解压最后出现:

返回值:0

则表示解压成功,在/var/root目录下会出现usr文件夹。

这时点击usr文件夹右边的感叹号图标,将访问权限全部修改为“读取,写入,执行”:

如果你有一台安装有XCode的Mac,可以到这里找到需要的文件夹:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/

最后的SDK选择自己需要的版本,压缩里面的usr文件。

四、设置Clang参数

因为Clang不会自带头文件和链接库,所以这里需要用参数指定,为了减小工作量直接写一个shell脚本。

在电脑上新建一个文本文档(当然也可以直接在iFile中新建),内容如下:

保存后去掉文件的.txt后缀,命名为dpp,将文件放到iOS中的/usr/bin文件夹下,点击右边的感叹号图标,修改访问权限为“读取,写入,执行”:

五、编译并执行C++文件

这里可以在电脑上创建一个简单的.cpp文件(我的文件名字为test.cpp):

将文件放到/var/mobile文件夹下

打开MTerminal,输入:

dpp test.cpp -o test

如果没出现错误就是编译成功,接下来运行编译后的文件:

./test

就会得到:

Hello World!

这样即完成了所有步骤。

下面是几点要说明的:我在iOS6、iOS7、iOS8上均测试过能正常使用,一般不可能是LLVM+Clang和LD64的问题;

如果头文件和链接库文件(即usr文件夹)找不到对应的,可以参考这里去寻找;

注意千万不要在Windows下解压usr.zip后再传至iOS,因为NTFS格式磁盘会破快链接文件的文件格式;

一定要注意复制进iOS的文件和解压的文件的权限问题,这里直接全部设为“读取,写入,执行”避免权限问题;

如果前面的usr路径和我的路径不同,注意要同时修改shell脚本中的参数;

我的shell文件名为dpp,这里可以自由修改,在Terminal中执行时对应就行;

这个shell是用来编译C++的,若要编译C,只需要将其中的clang++更改为clang(可能后面的头文件参数路径也需要更改,我没有测试);

dpp test.cpp -o test中dpp是我自定义的指定编译和头文件链接文件的命令,test.cpp为需要编译的文件的文件名,-o test为指定编译后文件的文件名,这里我指定为test;

./test即为执行test文件,这里的./为当前目录,必不可少,不同于Windows可以直接test。

如何通过iPad云编译C语言,在iOS(iphone、ipad)上编辑、编译和运行c/c++(包括iPhone6和iOS8)...相关推荐

  1. iOS(iPhone,iPad))开发(Obje…

    原文地址:iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引 作者:子木潇雨 http://www.code4app.com 这网站不错,收集各种 iOS App 开发可 ...

  2. c语言程序可以单独编译,c语言中的函数可不可以单独进行编译?_后端开发

    在C语言中,要求参加运算的数必须是整数的运算符是什么_后端开发 在C语言中要求参加运算的数必须是整数的运算符是"%":"%"符号在c语言中有两种释义,一是求余符 ...

  3. iOS(iPhone,iPad))开发(Objective-C)开发库常用库索引

    http://www.code4app.com 这网站不错,收集各种 iOS App 开发可以用到的代码示例  http://www.cocoacontrols.com/ 英文版本的lib收集  ht ...

  4. 使用HTML(Web)开发iOS/iPhone/iPad应用

    许多人想开发自己的iOS App吧?iOS App有几种开发的方法.一种是"正规"的方法,就是Xcode+ObjC.但是这样既得学习ObjC语言,又得搭建Xcode开发环境.都弄完 ...

  5. debian编译php mysql5.6_在Debian/Ubuntu上免编译安装PHP7.2~5.6

    本文介绍在 Debian/Ubuntu 系统上免编译安装 PHP7.2~5.6,教程适用系统为:Debian 9.Deiban 8.Ubuntu 18.04 LTS.Ubuntu 16.04 LTS. ...

  6. arm编译安装php启动,在 ARM 设备上手工编译 LNMP 编译到心态爆炸

    昨晚把我的华为畅享 8 Root 了,装了个 Linux Deploy,跑 CentOS 7 因为 CPU 比较辣鸡,就打算拿来建个小站玩玩 一开始打算用 OneinStack,结果发现不支持 ARM ...

  7. ipad更新9.0系统更新服务器,iPhone/iPad升级iOS9出现卡顿的原因及解决办法

    iOS 9正式版目前已经正式推送了,不过在一部分热火朝天升级的时候,有一部分人还在处在观望的状态.现在有很多升级之后的用户反馈说自己的iPhone或者iPad等苹果设备在升级到iOS 9系统会出现暂时 ...

  8. ios(iphone/ipad)开发每日一练【2011-11-14】

    请教一个关于真机测试的问题 疼!向各位老大求解cocos2d 处理动作播放的问题 如何实现新版本的升级提醒啊 UIImagePickerController截图时图片不再截图框中间 self有什么技巧 ...

  9. ipad原始邮箱服务器端口,如何在iPhone/iPad/iPod touch邮件应用程序中创建帐户(默认POP3)?...

    下面向大家介绍如何使用iPhone/iPad/iPod touch上的邮件应用程序Mail创建 yeah 邮箱帐户,这里以iPod touch为例(iPhone/iPad中除了界面略有区别外,操作基本 ...

  10. iPad能不能装c语言的编译器,IPhone/IPad/IPod安装GCC的方法

    GCC是一种很常用的C语言的编译器,可以在各种版本的Windows,Linux,Mac上运行,当然IPhone的IOS系统也不例外~下面就教大家如何在IPhone上面安装GCC,帮助程序猿们实现随时随 ...

最新文章

  1. 【性能优化】小伙伴问我性能指标监控怎么做,这次我安排上了!!
  2. [转载]用数据说话 Pytorch详解NLLLoss和CrossEntropyLoss
  3. excel导入数据时报错,显示Extracted SQL state class ‘22‘ from value ‘22001‘
  4. 这里有一份面筋请查收(六)
  5. 解决虚拟机 正在决定eht0 的ip信息失败 无链接-- 添加虚拟网卡
  6. mysql 批量删除之大坑
  7. JavaScript实现继承的几种方式
  8. linux文件句柄满了 现象_Linux 离奇磁盘爆满,如何解决? | 原力计划
  9. 推流中转服务器,视频推流服务器EasyRTMPLive拉转推过程当中遇到复杂目的地址解决方法?...
  10. 【bzoj1194】 HNOI2006—潘多拉的盒子
  11. js基础-9-正则表达式
  12. 嗅探工具java_权宜之计 让迅雷5支持傲游2嗅探器来下载视频
  13. 【Java 多线程 8】同步容器与并发容器
  14. 中国多端柔性直流输电行业发展分析及投资可行性调研报告2022-2028年版
  15. “汉堡+奶昔”怎么就成了精致生活的热门标签?
  16. ubuntu显示时间不正确的问题解决
  17. 如何搜索自己博客内的文章
  18. python日本 老龄化分析_即将读研,求问前辈有什么研究生安利的软件 APP 或者阅读文献用的等一系列提高效率的东西吗!?...
  19. 微信小程序获取并修改app.js中的值
  20. Excel表格中数据比对和查找的几种技巧

热门文章

  1. 【优化算法】差分松鼠搜索优化算法(DSSA)【含Matlab源码 1330期】
  2. 【动力学】基于matlab GUI汽车动力学分析系统【含Matlab源码 1050期】
  3. 【脑电信号】基于matlab小波变换睡眠脑电信号监测【含Matlab源码 595期】
  4. subsequence java_Java StringBuilder subSequence()方法与示例
  5. ffmpeg drawtext 背景_8款电视背景墙:电视背景墙这样装,不仅省钱还作用多!效果大不一样!...
  6. pong_计算机视觉与终极Pong AI
  7. php中合并数组保留键值,如何使用php合并数组并保留键值的方法
  8. h5 右下角浮动按钮_Flutter 浮动按钮-FloatingActionButton的使用
  9. html带表单和div的素材,用DIV+CSSwe标准布局网页表单的一个例子
  10. 关于TIME_WAIT重用与RFC1337