Mic*_*ael 24 c++ gcc include suppress-warnings gcc-warning
在我正在进行的软件项目中,我们使用了某些第三方库,遗憾的是,这些库产生了恼人的gcc警告.我们正在努力清除所有警告代码,并希望在GCC中启用treat-warnings-as-errors(-Werror)标志.有没有办法让这些我们无法修复的第三方生成的警告消失?
Imm*_*lPC 39
使用-isystem
示例:
gcc -I./src/ -isystem /usr/include/boost/ -c file.c -o obj/file.o
Run Code Online (Sandbox Code Playgroud)
使用-isystem NO警告有关提升:D
Dum*_*001 16
我认为你在谈论来自第三方库标题的警告.
GCC的具体解决方案是创建另一个包装头文件,它基本上包含两行:
#pragma GCC system_header
#include "real_3rd_party_header.h"
Run Code Online (Sandbox Code Playgroud)
并使用包装器而不是原始的第三方标头.
检查详细说明该编译指示的另一个SO响应.它实质上告诉GCC这个(带有递归包含的文件)是一个系统头,不应该生成任何警告消息.
否则,我不知道如何禁用来自第三方代码的警告.当然,除了暴力之外:在构建系统中配置要构建的文件并关闭警告.
Dre*_*kes 16
如果你正在使用CMake,你可以通过添加SYSTEM到include_directories:
include_directories(SYSTEM "${LIB_DIR}/Include")
^^^^^^
Run Code Online (Sandbox Code Playgroud)