iDevice 是 Ipod Touch 4 (ios 5.1),带有 redsn0w 越狱功能。我没有Mac。
到目前为止,我已经能够通过 PuTTY 编译和运行 C hello world。
我想做的是编译一个Objective-C图形hello world,然后安装它,这样我就可以从SpringBoard执行它。
我遵循了来自 antirez 博客的(旧)说明。
步骤是:
- 使用 PuTTY 和 SSH 登录 iPod。
(通过 SSH) - 将 SDK 2.0 标头下载到 iPod(使用
wget
)。提取,然后移动到/var/include
- 下载,提取此源代码示例。到目前为止我很好。
- 运行制作。
输出是:
arm-apple-darwin9-gcc -c -I"/var/include" -I"/usr/include" -F"/System/Library/ Frameworks" -F"/System/Library/PrivateFrameworks" -DDEBUG -Wall -std=c99 -DMAC _OS_X_VERSION_MAX_ALLOWED=1050 Classes/HelloWorldApp.m -o Classes/HelloWorldApp. o
arm-apple-darwin9-gcc -c -I"/var/include" -I"/usr/include" -F"/System/Library/ Frameworks" -F"/System/Library/PrivateFrameworks" -DDEBUG -Wall -std=c99 -DMAC _OS_X_VERSION_MAX_ALLOWED=1050 Classes/main.m -o Classes/main.o
arm-apple-darwin9-gcc -arch arm -lobjc -framework CoreFoundation -framework Fo undation -framework UIKit -framework QuartzCore -framework CoreGraphics -fram ework GraphicsServices -framework CoreSurface -L"/usr/lib" -F"/System/Library/ Frameworks" -F"/System/Library/PrivateFrameworks" -bind_at_load -multiply_define d suppress -o HelloWorld Classes/HelloWorldApp.o Classes/main.o
ld: library not found for -lobjc
collect2: ld returned 1 exit status
make: *** [HelloWorld] Error 1
现在,如果我删除它-lobjc
,我意识到编译过程中实际上没有包含其他库(例如 CoreFoundation)。
a) 我该如何解决这个问题?或者……我是在尝试做一些不可能的事情吗?
b) 使用 iOS 5.1 是否会使开发程序变得更加困难?
听说需要整个 Apple SDK 才能编译。所以假设我下载它。
c) 我应该把它下载到 iPod 上吗?具体走哪条路?