如何使用LLVM GCC在设备上编译iPad应用程序?

如何使用LLVM GCC在设备上编译iPad应用程序?,ipad,compiler-construction,xcode4,llvm-gcc,Ipad,Compiler Construction,Xcode4,Llvm Gcc,我已将应用程序设置为在编译器版本下的Target>Build Settings中使用LLVM GCC 4.2,它在模拟器中工作 当我将我的“方案”切换到一台iPad时,它抛出了与使用GCC时相同的警告,所以我假设它现在是在GCC下编译的。但是“C/C++编译器版本”目标仍然设置为LLVM GCC 4.2(除了在iOS默认情况下,它是GCC 4.2,我无法更改) 为什么它不再使用LLVM GCC进行编译,我如何才能将它更改为在iPad下使用 编辑:我遇到的错误与访问超类的实例变量有关。如果您没有以

我已将应用程序设置为在编译器版本下的Target>Build Settings中使用LLVM GCC 4.2,它在模拟器中工作

当我将我的“方案”切换到一台iPad时,它抛出了与使用GCC时相同的警告,所以我假设它现在是在GCC下编译的。但是“C/C++编译器版本”目标仍然设置为LLVM GCC 4.2(除了在iOS默认情况下,它是GCC 4.2,我无法更改)

为什么它不再使用LLVM GCC进行编译,我如何才能将它更改为在iPad下使用


编辑:我遇到的错误与访问超类的实例变量有关。如果您没有以[self iVarName]的形式编写,GCC会出现错误,而如果您只使用iVarName,LLVM GCC的编译效果很好。

LLVM GCC是带有GCC编译器的LLVM预处理器,因此您应该会看到相同的错误消息(由于LLVM,在IDE中还会看到更多错误消息)。您可以尝试LLVM编译器2.0,但目前它有一些bug。要设置编译器,请选择左上角的项目,点击Build Settings(生成设置)选项卡并更改编译器。

“LLVM GCC是带有GCC编译器的LLVM预处理器,因此您应该会看到相同的错误消息(由于LLVM,IDE中还有一些错误消息)。“我不知道。。。事实上,LLVM GCC没有显示GCC所显示的错误。当我使用iPad设备时,它会抛出GCC所做的错误,LLVM GCC没有,即使我将编译器设置为LLVM GCC。请读这个问题,它是另一个方向。“LLVM GCC 4.2”实际上是与LLVM后端代码生成器匹配的GCC前端。您清理了这个目标吗?你能举一个例子说明你试图通过这种方式避免的错误吗?我相信我已经清除了目标。错误与引用超类的实例变量有关。在我的问题中添加了错误。您是否碰巧运行了32位模拟器?我猜您在iPad上使用的是LLVM/GCC,但请记住iPad使用的是现代运行时。听起来你的代码在做一些现代运行时不允许的事情。也许是使用超类ivar合成属性?我使用它的方式和这个问题完全一样,并且也用同样的方式解决了它:如果iPad使用LLVM/GCC,那么我相信它不会得到这个错误——但不幸的是它得到了。我不确定我是否在使用32位模拟器。我必须在星期一回来上班时检查一下。iPad是32位还是64位?iPad是32位的,但是它使用了“现代”运行时,就像64位Mac一样。我的建议是发布您得到的实际代码和错误,有人可以解决这个潜在问题。例如,如果您试图在试图包装超类ivar的子类中@synthesis一个属性,那么您不能在现代运行时直接这样做。