1

Microsoft nmake 工具将在构建过程中输出任何编译器警告。这在构建大型项目(如 Qt)时非常烦人。使用nmake时是否可以禁用警告显示?

4

3 回答 3

1

不是nmake向您显示警告,而是使用的编译器/工具/脚本。所以你必须查看你的Makefile,找出 nmake 正在调用哪些程序,并查看他们关于这个工具的命令行选项的文档。例如,对于 Microsoft C++ 命令行编译器cl,您可以添加“ /w ”来禁用所有警告。cl/? 将向您显示可用选项的列表。对于其他程序,其他命令行选项可能是合适的。

如果你真的不喜欢看到任何输出,你可以调用

nmake >nul: 2>nul:

将所有输出发送到 nirwana,但我很确定这不是你想要的。

于 2010-01-13T12:08:13.637 回答
0

对于 Microsoft 的 C/C++ 编译器,您可以使用 #pragma 指令从代码中禁用特定警告

#pragma warning(disable:4005)

这将禁用警告 4005。包含可疑代码后,您可以重新启用警告:

#pragma warning(default:4005)
于 2010-01-13T11:38:20.423 回答
0

首先,应考虑并“解决”绝大多数警告。

其次,您可以使用 #pragma,如 Arve 所示

第三个解决方案见这里

禁用所有编译器警告

  1. 在解决方案资源管理器中选择项目后,在项目菜单上单击属性。
  2. 单击编译选项卡。
  3. 选中禁用所有警告复选框。

禁用单个编译器警告

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
  2. 单击编译选项卡。
  3. 在 Default Compiler Options 表中,将警告的 Notification 值设置为 None。

将所有编译器警告视为编译错误

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
  2. 单击编译选项卡。
  3. 选中将所有警告视为错误复选框。

将单个编译器警告视为编译错误

  1. 在解决方案资源管理器中选择一个项目后,在“项目”菜单上,单击“属性”。
  2. 单击编译选项卡。
  3. 在默认编译器选项表中,将警告的通知值设置为错误。
于 2010-01-13T11:49:10.557 回答