删除moduleCache下文件解决预编译头文件

之前有在代码全部正确的情况下,遇到过下面的编译错误:

fatal error: file ‘.....h‘ has been modified since the precompiled header ‘.....‘ was built.

note: please rebuld precompiled header ‘....‘.

解决方法是删除文件夹下/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache下的所有文件,然后重新编译,一般就会好了.

但是偶尔在删除ModuleCache下文件之后,不仅没有解决上面的问题,还会报下面的错误:

fatal error: malformed or corrupted AST file: ‘Unable to load module "/Users/username/Library/Developer/Xcode/DerivedData/ModuleCache/GJQSWZVUR8F9/Foundation-PNFYWITLP4HB.pcm": module file not found‘

这个时候执行一下deep clean就可以了,具体的做法是按组合键“Option+Command+Shift+K”. 编译过程中的中间文件都会被删除,然后就可以通过编译了.

时间: 2024-10-10 23:08:35

删除moduleCache下文件解决预编译头文件的相关文章

预编译文件,预编译头文件认识

一.概念:1.预编译:就是编译器首先编译某个文件(称为预编译头文件),然后将这个编译结果保存起来,之后如果有其他源文件include了这个“预编译头文件”的时候,则自动从这个编译结果提取需要的信息进行编译.2.预编译结果文件(Precompiled header file):就是那个用来保存已经编译了的符号信息的文件(.PCH作为后缀)3.生成预编译结果文件(Create Precompiled header file):我们说源文件A通过文件B“生成预编译结果文件”是指编译A的时候将其中编译B

C++预编译头文件(#include "stdafx.h")

来源:http://blog.sina.com.cn/s/blog_4ac766c00100qsbd.html http://blog.csdn.net/txh0001/article/details/7031058 作为一个C++菜鸟,在预编译头文件(#include "stdafx.h")上纠结了很久,今天打算彻底弄明白它. 1.预编译头文件的概念 所谓的预编译头文件,其实我们很熟悉的,这里的头文件(Microsoft Visual C++中)一般的说就是我们常见的stdafx.h

VS2005 MFC 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header file is from a previous version of the compiler, or the precompiled header is C++ and you are using it from

【转】预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编译头的选项! 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header

适时使用预编译头文件

情景一:今天在使用Qt设计界面的时候发现的一个问题,每修改一处代码,就要清理工程.重新构建才可以看到最新的效果 项目文件少还好,文件多了,每修改一下就要重新构建一次,特别浪费时间! 情景二:由于vc2013开始可以使用"#pragma execution_character_set("UTF-8")"来解决UTF-8编码问题,可是这句话放哪里呢?网上查一查,清一色的都说放在main函数前面,好吧,我放了,但是发现还是会存在乱码的问题.其实网上那些朋友搞错了一个概念,

VS中c++文件调用c 函数 ,fatal error C1853 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)

出现错误:error C1853: "Debug\ConsoleApplication1.pch"预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 相关资料: http://blog.sina.com.cn/s/blog_674cc1fd0100jirq.html 如果按上面方式调用还不成功,把.c文件的预编译去掉 右击.c文件,属性 ->点击左侧 预编译头,右侧 预编译头选项选择 不使用预编译头 对于为什么要去掉预编译头呢,可参考http:

【编程拾遗】预编译头文件来自编译器的早期版本

背景 在一个MFC ActiveX的项目工程中用到了zlib相关的文件压缩程序,这些程序是c语言编写的,在用vs2012编译时提示一下错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反). 特查找解决方法,记录下来. 解决办法 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtn

预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)(转)

用VC++ 2008 编写C语言程序,编译出现错误: 预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反) 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编译头的选项! 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled header

预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)转

vs2010的mfc项目中编译c语言出现错误: "...预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它(或相反)" 解决方法: 建工程时 建立空项目 或者在项目设置里关闭预编译头的选项! 当 Visual C++ 项目启用了预编译头 (Precompiled header) 功能时,如果项目中同时混合有 .c 和 .cpp 源文件,则可能收到 C1853 编译器错误:fatal error C1853: 'pjtname.pch' precompiled