与预编译头相关的编译器错误C2850。

时间:2014-01-27 02:49:14

标签: c++ visual-studio-2010

如何修复VS2010 C ++ Express中的编译器错误C2850?

我正在使用VS2010 C ++ Express在运行64位Win 7的64位PC上构建Win32应用程序。 我成功地开发了许多项目 我已经在我的当前项目上工作了大约3周,并成功构建了应用程序的调试和发布版本(即,它们根据需要或多或少地运行。)

为了减轻明显的内存泄漏问题,我修改了一些我编写的函数,其中引用了windows函数DrawText()。我已经成功地在这个项目的其他地方使用了DrawText()和mbstowcs(),所以当我尝试编译所有源模块时,我很惊讶我的项目引发了以下错误:

错误C2850:'PCH头文件':仅允许在文件范围内;可能不在嵌套构造中

我咨询了许多C ++用户网站以获得解决方案并且空洞了。

到目前为止,我已经尝试了以下前所未有的补救措施:

(1)尝试了所有3个设置         项目          - >属性            - >配置属性              - > C / C ++               预编译标题                  - >预编译标题

(2)从源文件列表中删除了stdafx.cpp。

(3)从除stdafx.h之外的所有包含文件中删除“#pragma once”。

(4)在我的所有代码中验证了这些陈述          #pragma一次      和          #include“stdafx.h”      只出现一次,并在包含任一语句的每个文件顶部的全局空间中出现。

在一个网站上建议我重新开始一个空项目,但我还没有尝试过。

毋庸置疑,在VS2010决定为我的工作效率创造最新障碍之前,我从来没有弄乱任何这些废话。

有没有人对如何解决这个问题有任何见解?

0 个答案:

没有答案