gpt4 book ai didi

c++ - Visual Studio 禁用特定目录中文件的警告

转载 作者:行者123 更新时间:2023-12-04 17:25:39 25 4
gpt4 key购买 nike

我们有一个 VS 2019 项目,其中包含我们添加到项目中的外部源库。例如,我们使用 WTL(Windows 模板库)。在编译期间,这些库会产生大量警告(特别是对于没有默认值的成员)。
对于这些文件,我们希望完全禁用警告,或者至少指定某些目录应该排除哪些警告,因为

  • 我们不会更改该代码
  • 警告太多,我们很容易从我们自己的代码中遗漏一些我们应该解决的警告

  • 我看到了一篇关于一些标志的帖子,您应该能够传递这些标志以禁用“外部”文件的警告,但我在项目设置中没有看到任何选项。

    最佳答案

    有几种方法可以禁用警告:

  • Project Properties->C/C++->General->Warning Level->select level

  • 这是 Warning Level :
  • 关闭所有警告(/W0):关闭所有警告的显示
    消息。级别 1 (/W1):显示严重警告消息。 2 级
    (/W2):显示 1 级警告和一些不太严重的警告,例如
    作为关于隐藏类(class)成员的警告。这是默认警告
    命令行中的级别。级别 3 (/W3):显示级别 2 警告
    以及一些不太严重的警告,例如关于表达式的警告
    总是评估为真或假。等级 4 (/W4):显示全部
    3 级警告和信息警告。

  • 或者您可以选择禁用 Project Properties->C/C++->Advanced->Disable Specific Warnings 中的特定警告
  • 您可以使用 warning pragma .

  • 句法:
    #pragma warning(
    warning-specifier : warning-number-list
    [; warning-specifier : warning-number-list ... ] )
    #pragma warning( push [ , n ] )
    #pragma warning( pop )
    另外,您可以向微软咨询 How to: Enable and Disable Code Analysis for Specific C/C++ Warnings .
    启用或禁用代码分析警告
    2.1.创建一个头文件,列出所有代码分析警告及其初始状态,如下代码所示:
    // WarningState.h
    #pragma warning ( default : 6001 )
    #pragma warning ( disable : 6011 )
    // more warnings here
    // end of file
    2.2.在应用头文件中包含WarningState.h。在这种情况下,MyApplication.h 表示头文件。
    // MyApplication.h file
    #include "WarningState.h"
    // ...
    // end of file
    2.3.在源代码文件中包含MyApplication.h文件。在这种情况下,MyApplication.cpp 代表源文件。
    // MyApplication.cpp file
    #include "MyApplication.h"
    2.4.要修改警告状态,在.cpp文件中使用pragma warning-specifier,如下代码所示:
    // MyApplication.cpp file
    #include "MyApplication.h"
    #pragma warning ( disable: 6001 )
    #pragma warning ( default : 6001 )
    禁用包含的第三方文件的所有代码分析警告
    将以下代码添加到您的头文件中。
    #include <codeanalysis\warnings.h>
    #pragma warning( push )
    #pragma warning ( disable : ALL_CODE_ANALYSIS_WARNINGS )
    #include <third-party include files here>
    #pragma warning( pop )

    关于c++ - Visual Studio 禁用特定目录中文件的警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63627279/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com