使用iPad编写C++程序(转载)

2023-05-16

使用iPad编写C++程序 一、搭建C++环境
1在cydia内安装 deb 包
注:在cydia-软件源-设置中改为开发者,否则有些deb搜索不到

OpenSSH,OpenSSL
wget (下载工具)
Aptitude 及 APT 0.6 Transitional (deb包工具)
unzip 及 zip (解压缩及压缩打包工具) 2用putty连接iPad(以下步骤也可以不通过电脑,直接在iPad上进行,不过搭建过程必须有网络,见后文)假设你的 iPad 的IP地址是192.168.1.104

Putty下载:http://putty.very.rulez.org/latest/x86/putty.exe
用 wifi 连接
Connection type: 选SSH(默认)
Port 选22(默认)
按Open(默认)



PuTTY 连接 192.168.1.104 后
Login打root
Password(假设你没有更改密码) 打alpine
注:无论是PuTTy还是本文最后说的iPad的命令行,输入密码时都不会显示字符,输完按回车即可
注:无论是PuTTy还是本文最后说的iPad的命令行,登陆root账户后默认路径为/var/root/
3安装iPhone gcc及签名工具

在PuTTY中打(PuTTy中鼠标右键粘贴):
  1. wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb
  2. dpkg -i libgcc_4.2-20080410-1-6_iphoneos-arm.deb
  3. apt-get install iphone-gcc ldid make
最后一句有可能发生的两个错误:
1、如果提示找不到apt命令,在CYDIA中搜索apt,安装APT 0.6 Transitional,APT 0.7 (apt-key),APT 0.7 HTTPS Method,APT 0.7 Strict,Apt0.7 Strict (lib),Aptitude
注:虽然我不知道是哪个的作用,不过反正是好了,而且以后编程用的上,就都装了吧
2、参考 http://blog.163.com/cobyeah@126/blog/static/140137653201142354756503/
使用apt-get进行软件的install或update时,有时会出现以下提示信息:
  1. E:Could not get lock /var/lib/dpkg/lock - open (11 Resource temporarily unavailable)
  2. E:Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

删除/var/lib/dpkg/lock文件,即可
4下载sys32Libheader.tgz
115 下载: http://115.com/file/bhy27ghj
复制到/var/root
5安装3.2 SDK (iPad)头文件
在PuTTY中打(PuTTy中鼠标右键粘贴):
  1. mkdir -p /var/toolchain
  2. cd /var/toolchain
  3. tar xzvf /var/root/sys32Libheader.tgz
  4. cp -p /var/toolchain/sys32/usr/lib/libstdc++.* /usr/lib/
  5. cd /usr/lib/
  6. ln -s libSystem.B.dylib libSystem.dylib

到此,C++编程的环境就搭建好了,接下来用一个小程序讲解怎么进行编程二、如何进行编程
在电脑用记事本编写HelloWorld.cpp
  1. #include
  2. using namespace std;
  3. int main()
  4. {
  5. cout << “Hello World !” << endl;
  6. return 0;
  7. }

把HelloWorld.cpp复制到/var/root/,
在PuTTY中打(PuTTy中鼠标右键粘贴):
  1. arm-apple-darwin9-g++ -I"/var/toolchain/sys32/usr/include" -I"/var/toolchain/sys32/usr/include/c++/4.2.1" -I"/var/toolchain/sys32/usr/include/c++/4.2.1/armv7-apple-darwin9" -L"/var/toolchain/sys32/usr/lib" HelloWorld.cpp -o HelloWorld
  2. ldid -S HelloWorld
  3. ./HelloWorld


此时,用文件管理软件可以看到

这个就是编译后的程序,可以用./HelloWorld运行(./指当前路径)

综述:
编译:
  1. arm-apple-darwin9-g++ -I"/var/toolchain/sys32/usr/include" -I"/var/toolchain/sys32/usr/include/c++/4.2.1" -I"/var/toolchain/sys32/usr/include/c++/4.2.1/armv7-apple-darwin9" -L"/var/toolchain/sys32/usr/lib" 程序名称.cpp -o 程序名称
  2. ldid -S 程序名称

执行:
  1. ./程序名称


三、代码编写软件
从上文在电脑创建.cpp文件可以看出,现在iPad能做的只是具有C++的环境,进行编译等,写代码还需其他的程序
原帖推荐的是Vi iMproved,可以在Cydia中搜索并安装,进入方式是在PuTTy或命令行下输入vim,退出方式是连续快速输入两次大写Z,具体详细操作可参考 http://www.caole.net/diary/vim.html
网上可找到很多的iPad的代码编写软件,我使用的是Textastic (图及下载见最后)

四、关于iPad端命令行
上文讲的都是在电脑上通过PuTTy控制iPad编译,执行程序。不过如果电脑随时在身边的话也就不用iPad编程了,接下来讲怎么在iPad上实现上述过程
在Cydia中搜索并安装MobileTerminal
打开Terminal,点击右下角的i可以进入程序设置,管理快捷输入和手势操作
此后所有步骤都和在电脑上用PuTTy一样
注:搭建环境时必须有网络连接,如安装iPhone gcc及签名工具过程中
wget http://apt.saurik.com/debs/libgcc_4.2-20080410-1-6_iphoneos-arm.deb需要联网下载

iPad端命令行进入root账户的方法:

输入login
Login打root
Password(假设你没有更改密码) 打alpine

关于命令行使用的更多信息可参考:
http://blog.sina.com.cn/s/blog_51d3553f0100xrxz.html

代码编写软件:Textastic
一个编写代码的软件,很方便,界面如下

中间的那个AssistiveTouch是我为了截屏的时候保护home键开的,跟程序无关
我没装iKeywi HD,因为感觉按键大了打字舒服,而且这个软件带字符输入(键盘上面那一排,四个角的符号滑动输入)
为了方便编译程序,可以建立快捷输入
在iFile(一个文件管理软件,应该都知道)中,找到.cpp的路径,按书签,按“+”



复制/var…后的路径,如图
在Terminal中,按右下角i,打开菜单,Shortcut Menu-新建,Shortcut Action中输入”cd “,粘贴,以后就可以在Terminal的左下角快捷输入了

Textastic下载: Textastic-v4.0.2.ipa (5206 K) 下载次数:14

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用iPad编写C++程序(转载) 的相关文章

  • UIImagePickerController 在 iPad 中崩溃

    IBAction selectPressed id sender UIImagePickerController picker UIImagePickerController alloc init picker delegate self
  • Xcode:如何创建出现在另一个视图控制器中的弹出视图控制器

    基本上我想做的是 假设我有一个名为 V1 的视图控制器 它内部有一个常规视图和一个按钮 现在 当您点击该按钮时 我希望该按钮创建一个操作 在同一视图控制器 V1 中弹出另一个名为 V2 的视图控制器 V2 的尺寸会缩小一些 使其不会填满整个
  • iOS - 支持 iPad 和 iPhone,无需使用笔尖

    我正在尝试编写一个应用程序而不使用nib 一切我都会以编程方式完成 现在的问题是 我该如何支持两者iPad and iPhone 显然 我不能这样做 if UIDevice currentDevice userInterfaceIdiom
  • 卸载屏幕外的 UIImageView 图像

    我正在 Ipad 上编写一个应用程序 在我的应用程序的某个时刻 我使用presentModalViewController 呈现一个ViewController 我的 ViewController 是一个 UISScrollView 它采用
  • iOS:iOS 4.3 和 5.0 之间不同的 addSubview 行为

    之前在 iOS 4 3 中编码时 我发现将视图控制器的视图添加到另一个视图时 superview addSubView controller view 控制器实例将不会收到 viewWillAppear viewDidAppear消息 比我
  • iPad SplitViewController 具有纵向模式菜单,如设置应用程序

    我想在我的 iPad 应用程序上获得 SplitView 其中左侧菜单处于纵向 例如 iPad 设置 现在 在纵向方向上 我有一个全屏内容视图 并且导航栏上有一个按钮 其中包含一个带有左侧菜单的弹出窗口 这就是你需要的魔法 该方法位于 UI
  • UIImageView 没有调用drawRect

    我的 IB 中有一个 UIImageView 我用一个方法 drawRect 创建了 UIImageView 的子类 implementation UIImageViewLine void drawRect CGRect rect NSLo
  • 尝试修复此错误:找不到映射的图像 UIPickerViewFrameLeft-162-Popover.png

    我正在尝试以编程方式创建 uiPickerView 并将其添加到视图中 而不使用界面生成器 不要误会我的意思 我喜欢 IB 但我想这样做的原因是因为我正在尝试构建一个对象 我可以快速插入该对象以使用 UIPopoverViewControl
  • “块样式”单选按钮适用于除 iPad 之外的所有设备

    我有一组单选按钮 并对它们进行了样式设置 以便它们显示 块 以便它们看起来像按钮 还隐藏了单选按钮本身 这在台式机和 Android 平板电脑上的 Chrome 和 Firefox 中效果很好 但在 iPad 上不起作用 在这里查看 htt
  • UIImagePickerController 允许编辑错误地裁剪图像,在顶部留下黑条

    我在 iPad 上的弹出窗口中使用 UIImagePickerController 用前置摄像头拍照 我将 允许编辑 设置为 是 并在拍照后获得令人敬畏的内置 移动和缩放 视图 尽管图像被裁剪为 320x320 的正方形 但此视图中的裁剪矩
  • UINavigationBar 未在横向“返回”时更新

    我正在开发 UINavigationController 驱动的 iPad 应用程序 在模拟器中测试 导航控制器堆栈上只有两个 UIViewController 为了演示 我们将它们称为 SetupController 和 ContentC
  • iPhone - cancelPerformSelectorWithTarget 不起作用

    如果我在 UIView 的子类中执行此操作 self performSelector selector doSomething withObject nil afterDelay 5 然后像这样取消它 我已经尝试了两个版本 NSRunLoo
  • pdf文件文本阅读和搜索

    我想从 pdf 文件中读取文本并将文本搜索到 pdf 文件中 这是我知道的链接 这些都帮不了我 使用 Quartz 2D 解析 pdf 时获取文本位置 https stackoverflow com questions 3627745 ge
  • 如何在 iphone 和 ipad 的通用应用程序中调用 [[UIScreen mainScreen] 缩放]

    我正在制作一个可以在 ipad 和 iphone 上运行的通用应用程序 到目前为止一切顺利 但我刚刚将我的 SDK 更新到 ios4 并且想要调用 UIScreen mainScreen scale scale 不在 3 2 sdk 中 并
  • Xcode 4 .xib 创建 iPad 版本

    我有一台 iPhone xib 我想将其变成 iPad xib 在 Xcode 3 中 有一个 创建 iPad 版本 菜单选项 我如何在 Xcode 4 中执行此操作 我目前调整了 xib 的大小 但是当我打开模拟项目 导航栏等 时 它会将
  • iPad 横向触摸开始变得混乱

    我的应用程序仅允许在横向方向上使用 并且它以横向方式启动 因此 iPad 横向时左上角为 0 0 因此一切正常 但是 当我拿起 touchesBegan 时 它无法正常工作 只有当我点击 iPad 的右侧三分之二时 它才会接收到触摸 我知道
  • 用于具有转换的非导航应用程序的视图控制器/NIB 架构?

    我正在修补一个 iPad 应用程序 就像许多 iPad 应用程序一样 它不使用 UINavigation 根视图控制系统 因此我没有每个应用程序 视图 的自然所有权 我基本上有两个基本视图 文档列表视图和文档编辑视图 我正在使用 UIVie
  • AVCaptureSession 具有多个方向问题

    我正在尝试实现条形码扫描仪 我有一个 AVCaptureSession 它从 AVCaptureDevice 接收视频 我想支持所有方向 使用以下代码 当我运行应用程序时 纵向一切正常 然而 在横向方向上 视图会旋转 但视频输入不会旋转 所
  • iPad - 无法在框架内滚动

    我无法滚动 iPad Safari 中框架内调用的 pdf 我已经尝试过两件事 2 指滚动 使用对象 嵌入代替框架 但这是行不通的 事实上我已经尝试了很多东西 溢出 高度等等 请帮我 先感谢您 根据这篇文章http support appl
  • iphone:在 UIWebView 之上查看?

    我正在开发一个浏览器应用程序 并且 UIWebView 顶部有一个地址栏 在 MobileSafari 上 如果向下滚动 地址栏开始移动到顶部 移出屏幕 并且 UIWebView 不会滚动 只有当地址栏完全消失时 它才开始滚动 我也想在我的

随机推荐

  • 拯救者Y7000P 安装Ubuntu16.04问题解决

    先列一下问题 xff1a 1 wifi开不来了 xff1b 2 触摸板没法用 3 休眠后打不开 目前1 3 xff0c 解决了 xff0c 但是2依然没法解决 xff0c 不过问题不大 xff0c 大不了用鼠标 首先 xff0c 问题的原因
  • VSCode python调试库代码以及添加相关扩展支持opencv

    调试python 代码的时候可以再launch json 文件中添加 justMycode 34 false 来调试安装的包的代码 由于opencv 底层调用的C xff0c 所以如果要在代码提示中正确提示可能要安装额外插件 xff1a 比
  • vscode python包的引用一些问题

    个人使用vscode碰到的一些python包的引用问题以及尝试解决的一些办法 xff0c 可能只适用我自己的情况 项目目录大概如下 xff1a lib是根目录下的一个文件夹 xff0c 里面每个文件夹都是一个python 包 xff0c 都
  • MATLAB 矩阵的化简rref()函数

    在用MATLAB求解线性方程组的时候 xff0c 可以使用 rref 函数对矩阵进行化简 xff0c 从而很方便直观的得到原方程的解 xff0c 举一个简单的例子 xff1a 解下列线性方程组 则用MATLAB的rref函数解上述方程组的代
  • MATLAB求符号函数的函数值的方法

    在MATLAB中定义函数的方法有许多种 xff0c 比较常用的一种是定义符号变量 x 和 y 举一个简单的例子 xff1a 对函数 y 61 x 2 用上述方法的MATLAB语言如下 xff1a syms x y y 61 x 2 要想画出
  • C++寻找数组最大值和最小值

    寻找数组中的最大最小值 include lt iostream gt using namespace std include lt algorithm gt int main int n cin gt gt n int p 61 new i
  • Excel如何同时查找多个数据

    在使用多个excel表的时候 xff0c 有时需要在一个表中查找另一个表中的某些信息 xff0c 怎样能一步到位 xff0c 将所有要查找的信息一次找出来而不是一个个的Ctrl 43 F xff1f 这是前几天帮辅导员老师统计新生的数据时遇
  • python tkinter 全部组件(widget)及事件类型(event)一览

    对于一个简单的GUI程序设计来说 xff0c 我觉得无非就是三个要素 xff0c widget xff08 部件 xff09 xff0c layout xff08 布局 xff09 xff0c event xff08 事件的响应 xff09
  • DS18B20 1-WIRE ROM搜索算法详解

    转自 xff1a http blog sina com cn s blog 57ad1bd20102uxxw html 1 WIRE 搜索算法详解 xff08 1 xff09 0 前言 美信公司 xff08 http www maximin
  • 关于python tkinter 多线程依然无响应问题

    今天解决了一个GUI程序的多线程问题 因为GUI程序在执行高IO操作的时候容易出现假死和无响应的状态 xff0c 所以需要用到多线程 但我的程序开了线程之后依然是无响应状态 几次尝试 xff0c 终于找到问题所在 1 首先 xff0c 我的
  • Ubuntu内核的查看、更新、卸载、取消及启用自动更新

    1 查看当前内核版本 xff1a uname r 2 升级内核 xff1a sudo apt get update sudo apt cache search linux image 查看可用内核 在选择合适的内核后 xff0c sudo
  • 孤立森林(Isolation Forest)

    背景 现有的异常检测方法主要是通过对正常样本的描述 xff0c 给出一个正常样本在特征空间中的区域 xff0c 对于不在这个区域中的样本 xff0c 视为异常 这些方法的主要缺点是 xff0c 异常检测器只会对正常样本的描述做优化 xff0
  • FreeRTOS三种数据结构区别(StreamBuffer,MessageBuffer,Queue)

    Queue队列是最基本的数据结构 xff0c 在FreeRTOS v10 0后提供了另外两种高级数据结构为Streambuffer和MessageBuffer xff0c 称为流式缓冲区和消息缓冲区 FreeRTOS 嵌入式系统开源 Fre
  • ubuntu16安装librealsense 以及在ros上使用 [深度相机sr300]

    记录ubuntu16安装librealsense 和ros包的过程 xff0c 还有一些遇到的问题 温馨提醒 如果按照下面步骤每一步完成 xff08 都没报错 xff09 xff0c 还是不能显示图像 xff0c 换个usb3 0口试试或者
  • 原生安卓苹果APP-java抢单派单系统平台源码

    简介 xff1a java源码 派单系统平台源码完整版带项目说明 网盘下载地址 xff1a http kekewl cc 9qsCp179URb0 图片 xff1a
  • 基于Android和OpenCV的物体跟随系统设计 需要留言

    本设计为基于Android和OpenCV的物体跟随系统设计 本文对基于计算机视觉的物体跟随系统的特点和应用领域 国内外的研究现状及其发展分别做出了较详尽介绍 并且按照社会科技化进步的要求 xff0c 给出了具有参考意义的智能跟随模块系统 根
  • 【Linux C王者归来】【第十一章】【进程控制】

    1 程序可以有多个进程 xff0c 一个进程与进程id11 对应 2 PROC中的数字对应id号 xff0c getpid和getppid可以获得进程id父进程id 3 getuid geteuid 获得进程用户id和有效用户id 4 ge
  • DSP28335使用FIFO的串口中断总结

    一 串行通信与并行通信 DSP控制器间 xff0c DSP控制器与外部设备间交换信息 xff0c 通信 xff0c 可采取的通信方式主要两大类1 串行通信 2 并行通信 并行通信一般包括多条数据线 多条控制线和状态线 xff0c 传输速度快
  • 点阵屏上绘图——基于LCD12864 控制详解

    本文引用自 xff1a http blog csdn net s3c44b0x article details 7498706 原始地址 xff1a http www amobbs com thread 591361 1 1 html 相关
  • 使用iPad编写C++程序(转载)

    使用iPad编写C 43 43 程序 一 搭建C 43 43 环境 1在cydia内安装 deb 包 注 xff1a 在cydia 软件源 设置中改为开发者 xff0c 否则有些deb搜索不到 OpenSSH xff0c OpenSSL w