严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C1853 “.\Release\basic_sample.pch”预编译头文件来自编译器的早期版本,或者预编译头为 C++ 而在 C 中使用它
该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译头文件是针对 C++ 的 (stdafx.h 和 stdafx.cpp),当然也可以创建针对 C 的预编译头。
方法:
将少数的不同类文件设为不使用预编译头是比较平衡的做法
对于 VC++6.0,在 FileView 里对要取消预编译头的 .c (或 .cpp) 文件点右键,选择 settings,在弹出的对话框右边选择 category 为 precompiled headers,再设置选项为 not using ...;
对于 VS2015,则在 solution explorer 中对相应文件点右键选择 properties,在 precompiled headers 项下设置 not using... 即可。
如果需要设置多个文件,则可以按住 Ctrl 键再同时选中这些文件并设置)