首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XCode两次预编译pch;第二次使用错误的语言

XCode两次预编译pch;第二次使用错误的语言
EN

Stack Overflow用户
提问于 2010-11-04 04:42:17
回答 2查看 871关注 0票数 1

我在XCode中有一个Objective C项目。在构建时,XCode会预编译我的前缀PCH文件两次。第一次,它使用了参数-x objective-c-header,它工作得很好。第二次,它使用-x c-header,但失败了(由于包含Objective C代码的文件)。

我有另一个项目也是这样设置的,但它构建得很好。( PCH只预编译一次,目标是C。)我并排比较了这两个项目的构建设置,相关的设置没有什么不同。我并排比较了目标的构建设置,同样,没有相关的差异。

我试着清理所有的目标并重建,但是没有成功。我试着重启XCode,但是没有成功。我在项目文件夹中添加了c-header,但它只出现在构建日志中。

这可能是什么原因造成的?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-04 05:04:41

我讨厌回答自己的问题,但我想通了。我禁用了预编译前缀头,看看这是否可以让我继续工作。构建仍然失败,并出现相同的错误,但当包含项目中忘记的.c文件中的文件时,构建失败。显然,这个.c文件的存在是这个项目和其他项目之间的区别。现在我知道是怎么回事了,我把代码移到了#ifdef __OBJC__中,一切看起来都很正常。

票数 3
EN

Stack Overflow用户

发布于 2010-11-04 11:25:24

由于您的项目中有多种语言,所以需要多次重新构建PCH文件;一次是使用objective-c编译器,另一次是直接使用C文件,因此您在OBJC #ifdef之外有了Objective-C代码,这导致直接C编译器吃了午饭。

如果您有一个C++文件,那么您最终可能会得到3个PCH编译(IIRC --我上次使用它已经有一段时间了)。

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

https://stackoverflow.com/questions/4091489

复制
相关文章

相似问题

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