msvc预编译头警告禁止显示

msvc precompiled header warning suppress

本文关键字:警告 禁止显示 编译 msvc      更新时间:2023-10-16

在我的C++项目中,我使用预编译头作为编译时优化。但是,当我在编译器设置中启用/Wall选项时,我无法抑制预编译头文件中的任何警告。

头文件:

#ifndef _PRECOMPILED_H
#define _PRECOMPILED_H
#pragma warning(push, 0)
#pragma warning(disable: 4514)
#include <vector>
#pragma warning(pop)
#endif /* _PRECOMPILED_H */

源文件:

#include "precompiled.h"

我最终在vector中收到了大量警告。

当我做同样的事情,但在一个常规文件中,一切都按预期进行。这个问题有什么解决办法吗?

我使用的是Visual Studio 2013社区版更新4。

不要在Visual C++中使用/Wall。它并不意味着与具有g++的-Wall相同。使用/W4(与g++-Wall大致等价)。

我没有从包含vector中得到4514警告。您只禁用了4514,而且仅在矢量标头中禁用。我认为这种情况在其他碰巧使用vector的代码中也会发生,并且警告消息(您没有发布)引用了vector头,因为优化器删除的函数就是在这里声明的。