1.预编译头文件设置
头文件预编译,是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后工程编译的时候就不再编译预先编译过的这些头文件,仅仅使用结果,预编译可以节省编译时间。预编译头文件是通过编译stdafx.cpp自动生成,以工程名命名,使用预编译头文件的文件第一个包含的都是stdafx.h。
有时候,当一个项目中需要同时用到.c和.c++文件,这个时候往往会产生预编译头文件的错误,如下:
fatal error C1010: unexpected end of file while looking for precompiled header directive。
寻找预编译头文件路径时遇到了不该遇到的文件尾。(一般是没有#include "stdafx.h")
fatal error C1853: 'Debug\PDLAnalysis.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 (or vice versa)
这是由于.c文件未包含预编译头文件stdafx.h或该预编译头文件为c++所使用,而c和c++编译器不能使用同一个预编译头文件,一种解决方法是在vs中设置.c文件不使用预编译头文件,右键单击.c文件,选择属性,在Configuration Properties的C/C++选项中的Precompiled Headers中,设置Precompiled Header的值为Not Using Precompiled