2

我一直在关注本教程: http ://brandontreb.com/beginning-jailbroken-ios-development-building-and-deployment/

以 foobar 的名称启动应用程序。但是当我输入'make'时,我得到......

19:33:14-~/code/theos/foobar$ make
Making all for application foobar...
 Compiling main.m...
 Compiling foobarApplication.mm...
 Compiling RootViewController.mm...
 Linking application foobar...
ld: file is universal (4 slices) but does not contain a(n) armv6 slice:     /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk/usr/lib/crt1.o for architecture armv6
collect2: ld returned 1 exit status
make[2]: *** [obj/foobar] Error 1
make[1]: *** [internal-application-all_] Error 2
make: *** [foobar.all.application.variables] Error 2

因为我使用的是theos 而不是xcode(虽然安装了4.5,但使用了6.0 SDK),更改构建设置没有帮助。

仅供参考,我正在为 iphone iOS 4.3.3 开发

4

1 回答 1

8

这目前是 theos 中的一个已知问题,如果您只能使用 iOS6 SDK 访问 Xcode 4.5,则应将以下内容放在 makefile 的顶部:

ARCHS = armv7

如果您可以访问较旧的 SDK,则以下内容将允许您成功编译 armv6:

TARGET = iphone:sdkversion

其中 sdkversion 是“4.0”等形式的数字字符串,因此如果您想使用 5.1 SDK(允许您创建 armv6 对象的最新版本),请将以下内容放在 makefile 的顶部:

TARGET = iphone:5.1
于 2012-10-07T08:41:04.697 回答