【问题标题】:Cannot compile for iOS after XCode upgradeXCode 升级后无法为 iOS 编译
【发布时间】:2014-05-07 03:20:51
【问题描述】:

您好!

自从今天早上重新安装 XCode 后,我一直无法编译任何 iOS 项目。 Mac OS 目标工作得很好,但 iOS 目标只是拒绝工作。甚至 XCode 中包含的模板也拒绝编译。

现在,这可能是我应该包含错误消息的地方。这里的问题是,只有普通模板会输出 14300 错误。这些错误并非来自项目中的文件,它们来自 math.h、signal.h、stddef.h、stdlib.h、time.h、CFBase.h、CFArray.h 和许多其他内置头文件.错误太多,名字也不一样,但很多似乎都是这种形式:

  • 预期 * 在 * 之前:CFBitVector.h:17:错误:预期在 'CFBitVectorGetTypeID' 之前出现 '='、','、';'、'asm' 或 'attribute'
  • 预期 * 在 * 之前:/math.h:470:错误:预期在“__AVAILABILITY_INTERNAL__IPHONE_3_2”之前声明说明符
  • GCC 4.2 错误:m/math.h:477:错误:为参数“scalb”指定了存储类

一个项目文件有错误:Viewer-Prefix.pch。该文件如下所示:

#import <Availability.h>

#ifndef __IPHONE_3_0
#warning "This project uses features only available in iPhone SDK 3.0 and later."
#endif

#ifdef __OBJC__
    #import <UIKit/UIKit.h>
    #import <Foundation/Foundation.h>
#endif

带有“#import”的行给出了这些确切的错误:

  • 输入结束时应为“{”
  • 原型函数定义中的旧式参数声明
  • 原型函数定义中的旧式参数声明
  • 输入结束时应为“{”

XCode 当前版本是 4.0.2,iPhone SDK 是 4.3。我相信我是从第一个发布的 XCode 4.0.0 升级而来的。因为我只在为 iOS 编译时收到这些错误消息,所以我认为我的 SDK 可能有问题。 System Profiler 列出了以下已安装的 SDK:

Mac OS X:10.6:(4A2002a)

iPhone 操作系统:4.3:(8H7)

iPhone 模拟器: 3.2:(7W367a) 4.0:(8A400) 4.1:(8B117) 4.2:(8C134) 4.3:(8H7)

底线:我不知道从哪里开始。我从来没有在任何项目文件之外出现过任何错误,而且我很难相信实际上有 14300 个错误。

额外的事实:

  • 基础 SDK:最后的 iOS (iOS 4.3)
  • 架构:标准 (armv6 armv7)
  • 平台:iphonesimulator iphoneos
  • Mac OS X 部署目标:编译器默认
  • iOS 部署目标:iOS 4.3
  • C/C++ 编译器版本:LLVM GCC 4.3

【问题讨论】:

  • 使用卸载脚本彻底卸载Xcode,然后重新安装。
  • 在您升级到 4.0.2 时,您是否检查了所有默认选项?安装过程中有没有问题?你确定你当时没有运行你现有的 Xcode 吗?在您的构建设置中,Base SDK、架构、平台和部署目标的值是什么?
  • 卸载:/Developer/Library/uninstall-devtools
  • 完全卸载和重新安装可悲的是根本没有帮助,仍然有 14300 错误。是的,我确实检查了所有安装选项。没有问题,安装时我什至没有碰电脑。主要帖子是基础 SDK 等的更新(或应该在一分钟内)

标签: ios xcode ios4


【解决方案1】:

好吧,看来我是我自己的问题的原因。我将新项目命名为“查看器”,似乎项目名称引起了问题。旧项目没有编译的原因是因为我打开了这个“查看器”项目,这最终导致 XCode 崩溃。

我很好奇为什么会这样。一种理论是,这会创建与某些 SDK 文件同名的文件,但老实说,我不知道。了解其他项目名称是否会产生相同的结果也很有趣。

【讨论】:

  • 我怀疑项目名称是否有任何影响。我的猜测是你的项目文件和框架的位置有些奇怪。我会尝试重新开始一个新项目并小心地将所有文件复制到项目目录中,然后在所有框架中一一链接。
  • 嗯,奇怪的是,创建一个本质上相同的项目,但项目名称不同,并且在相同的位置,不会产生任何错误。其他项目名称工作得很好,但创建一个名为“查看器”的项目无论如何都会给我错误。我已经多次验证了这一点。不过,您可能是对的,我的 Mac 上的安装有些奇怪。
猜你喜欢
  • 2021-08-18
  • 1970-01-01
  • 1970-01-01
  • 2022-12-12
  • 1970-01-01
  • 1970-01-01
  • 2013-11-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多