Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c XCode预编译pch两次;第二次用错误的语言_Objective C_Xcode_Pch - Fatal编程技术网

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

Objective c XCode预编译pch两次;第二次用错误的语言,objective-c,xcode,pch,Objective C,Xcode,Pch,我在XCode中有一个目标C项目。构建时,XCode会预编译我的前缀PCH文件两次。第一次,它使用了参数-x objective-c-header,工作正常。第二次,它使用-x c-header,但失败(由于文件包含目标c代码) 我有另一个项目,设置相同,但它构建良好。(PCH只预编译一次,目标是C。)我将两个项目的构建设置并排进行了比较,没有任何相关差异。我将目标的构建设置并排进行了比较,同样,没有相关的差异 我试图清理所有目标并重建,但没有成功。我尝试重新启动XCode,但没有成功。我在项目

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

我有另一个项目,设置相同,但它构建良好。(PCH只预编译一次,目标是C。)我将两个项目的构建设置并排进行了比较,没有任何相关差异。我将目标的构建设置并排进行了比较,同样,没有相关的差异

我试图清理所有目标并重建,但没有成功。我尝试重新启动XCode,但没有成功。我在项目文件夹中搜索了
c-header
,但它只显示在构建日志中


是什么原因造成的?

我讨厌回答我自己的问题,但我发现了。我禁用了前缀头的预编译,以查看这是否可以让我继续工作。构建仍然失败,并且出现了相同的错误,但是在包含我忘记在项目中包含的.c文件时失败了。显然,这个.c文件的存在是这个项目和另一个项目的区别。现在我知道发生了什么,我把我的代码移到了
\ifdef\uuuu OBJC\uuu
中,一切看起来都很好。

我讨厌回答我自己的问题,但我明白了。我禁用了前缀头的预编译,以查看这是否可以让我继续工作。构建仍然失败,并且出现了相同的错误,但是在包含我忘记在项目中包含的.c文件时失败了。显然,这个.c文件的存在是这个项目和另一个项目的区别。现在我知道发生了什么,我将代码移到了
#ifdef_uuuobjc_uu
中,一切似乎都很好。

PCH文件正在多次重建,因为您的项目中有多种语言;一次是使用objective-c编译器,一次是使用straight c文件,因此objective-c代码位于OBJC#ifdef之外,这导致straight c编译器把午餐弄脏了


如果你有一个C++文件,你可能会得到3个PCH编译(Irc-自从我用它搞砸了一段时间)。

< P>文件被多次重建,因为你的项目中有多种语言;一次是使用objective-c编译器,一次是使用straight c文件,因此objective-c代码位于OBJC#ifdef之外,这导致straight c编译器把午餐弄脏了

如果你有一个C++文件,你可能会得到3个PCH编译(Irc-自从我搞砸了一段时间)。