fatal error C1853: "Debug\***.pch"预编译头文件来自编译器的早期版本

当VC++项目中混编了.C和.CPP文件,由于编译器处理方式差异,可能导致'fatal error C1853'。解决方法是为不兼容预编译头的文件设置不使用预编译头,通过项目属性调整C/C++的预编译头选项,或者在VS解决方案资源管理器中修改文件属性,选择不使用预编译头。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

该错误是因为当项目中混合了 .cpp .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译头文件是针对 C++ (stdafx.h stdafx.cpp),当然也可以创建针对 C 的预编译头。

        方法:将少数的不同类文件设为不使用预编译头是比较平衡的做法,方法是:对于 VC++6.0,在 FileView 里对要取消预编译头的 .c ( .cpp) 文件点右键,选择 settings,在弹出的对话框右边选择 category precompiled headers,再设置选项为 not using ...;(对于 VS2005,则在 solution explorer 中对相应文件点右键选择 properties,在 precompiled headers 项下设置 not using... 即可。如果需要设置多个文件,则可以按住 Ctrl 键再同时选中这些文件并设置)PS:解释如下点击项目点击属性然后选择C/C++   预编译头创建使用头文件不使用预编译头文件(解决方案资源管理器-右击需要排除的ccpp文件]-弹出属性菜单-展开C/C++-预编译头-创建/使用预编译头-选择不适用预编译头)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值