首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >升级到iOS 4.1SDK后出现奇怪问题

升级到iOS 4.1SDK后出现奇怪问题
EN

Stack Overflow用户
提问于 2010-09-09 23:08:05
回答 3查看 6.5K关注 0票数 18

我已经将iOS软件开发工具包升级到了新发布的4.1版本,现在在构建我的应用程序时遇到了以下错误:

代码语言:javascript
复制
/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23     

/DeveloperBeta/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.1.sdk/System/Library/Frameworks/CoreGraphics.framework/Headers/CGPDFContext.h:60:23: error: expected function body after function declarator

查看.h文件中的这一行,我看到了以下内容:

代码语言:javascript
复制
CG_EXTERN void CGPDFContextAddDocumentMetadata(CGContextRef context, CFDataRef metadata) CG_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0);

真正有趣的是定义__MAC_10_7,它似乎没有在任何地方定义。在预编译我的应用程序的.pch文件时,我得到了这个错误。

令人好奇的是,编译了一个简单的hello world应用程序。

你知道我能做什么吗?

提前感谢!

Stelian

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-10 02:58:53

这是一个使用LLVM模拟器构建的iOS 4.1SDK的已知错误。你可以在苹果的开发者论坛上的this thread上读到所有关于它的内容。

推荐的解决方案是在项目的构建设置中将以下内容添加到Other C Flags中:-D__IPHONE_OS_VERSION_MIN_REQUIRED=040100,其中将040100替换为您的部署目标版本(例如,对于3.0时为030000)。

票数 42
EN

Stack Overflow用户

发布于 2010-09-10 01:26:09

在使用LLVM编译器时,我遇到了这个问题。试着用GCC重新编译,这个问题(对我来说)就消失了。

我将继续调查,以确定这是一个通用的工具链问题,还是特定于我的配置。

--更新:

所以这看起来像是CLANG的问题。LLVM GCC 4.2运行良好。

我仍然认为这可能是我的配置有问题。对于我来说,即使是一个空项目也不能在LLVM clang1.5下编译。

--更新2:

因此,在项目信息设置中似乎没有遵守最低要求的版本设置。我已经通过以下方式手动设置:

其他C标志:-D__IPHONE_OS_VERSION_MIN_REQUIRED=031300

(显然,对于最低版本的iOS 3.1 -如果您需要更高版本,则可以使用040100版本)

这似乎只是CLANG/LLVM的模拟器问题。直接为设备编译似乎工作得很好。

票数 3
EN

Stack Overflow用户

发布于 2010-09-09 23:42:53

也许你应该使用最新的Xcode4构建,这是一个要求吗?MAC_10_7将在编译器附带的系统头文件中定义,我猜可能在SDK中,但我不这么认为。我猜这是你为模拟器构建的时候。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3677879

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档