如何在vs2010中解决“C4653”警告?

时间:2010-11-15 12:25:45

标签: c++ visual-studio-2010

我正在将c ++项目从2008年转换为2010年,警告级别为4 “警告C4653:编译器选项'优化(一个或多个/ Oawp [y])'与预编译头不一致;当前命令行选项被忽略”  警告已被抛出。

2 个答案:

答案 0 :(得分:5)

如果项目中没有需要特殊优化选项的特殊.cpp文件,则所有文件应具有相同的选项。重置在特定文件上设置的选项以生成默认值,然后仅更改整个项目的选项。

如果您确实需要某些.cpp文件来获得特殊的优化选项,请关闭这些文件的预编译头。这种情况在正常项目中并不常见。

编辑:通常我们只设置项目属性:右键单击解决方案资源管理器中的项目(不是解决方案)>选择属性。但是,我们也可以对单个.cpp文件执行相同的操作:右键单击解决方案资源管理器中的.cpp文件>属性。我们也可以为多个文件执行此操作,首先选择它们(按住Ctrl键单击,或按住Shift键单击,像Win Explorer中的文件一样),然后转到属性。您甚至不必关闭“属性”窗口,而是在窗口打开时选择其他项目。

因此,右键单击.cpp文件>属性> C / C ++>预编译标题>将“使用预编译的标题”替换为“不使用预编译的标题”。而已。建立。

答案 1 :(得分:1)

您的#pragma或其他一些标题中包含一些有冲突的stdafx.h行。尝试评论这些行,直到找到罪魁祸首,然后尝试确定是否真的需要或者是否应该修改全局项目优化设置。