代码之家  ›  专栏  ›  技术社区  ›  Michael

如何消除GCC中的外部lib/第三方警告[duplicate]

  •  21
  • Michael  · 技术社区  · 15 年前

    我们正在努力清理所有警告代码,并希望在GCC中启用treatwarningaserrors(-Werror)标志。 有没有办法让这些我们无法修复的第三方生成的警告消失?

    4 回复  |  直到 10 年前
        1
  •  16
  •   Community Mohan Dere    9 年前

    特定于GCC的解决方案是创建另一个包装头文件,它基本上有两行:

    #pragma GCC system_header
    #include "real_3rd_party_header.h"
    

    并使用包装器,而不是原来的第三方头。

    检查 another SO response

    否则,我不知道如何禁用来自第三方代码的警告。当然,除了暴力之外:在构建系统中,配置要构建的文件,并关闭警告。

        2
  •  42
  •   ImmortalPC    13 年前

    使用 -isystem 例子:

    gcc -I./src/ -isystem /usr/include/boost/ -c file.c -o obj/file.o
    

        3
  •  18
  •   Drew Noakes    11 年前

    如果您使用的是CMake,可以通过添加 SYSTEM include_directories :

    include_directories(SYSTEM "${LIB_DIR}/Include")
                        ^^^^^^
    
        4
  •  3
  •   Agnel Kurian    15 年前

    http://www.artima.com/cppsource/codestandards.html

    示例1:第三方头文件。 库头文件,您不能 更改可能包含一个 引起(可能是良性的)警告。 然后用你自己的文件包起来 并有选择地关闭 再加上你的包装纸