首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在GCC中消除外部库/第三方警告

如何在GCC中消除外部库/第三方警告
EN

Stack Overflow用户
提问于 2010-07-22 19:56:01
回答 4查看 10.3K关注 0票数 27

在我正在从事的软件项目中,我们使用了某些第三方库,不幸的是,这些库会产生恼人的gcc警告。我们正在努力清理所有警告代码,并希望在GCC中启用视警告为错误(-Werror)标志。有没有办法让这些我们无法修复的第三方生成的警告消失?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-07-22 20:15:06

我假设你说的是来自第三方库头的警告。

特定于GCC的解决方案是创建另一个包装头文件,该文件本质上包含以下两行:

代码语言:javascript
复制
#pragma GCC system_header
#include "real_3rd_party_header.h"

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

检查详细说明编译指示的another SO response。它本质上告诉GCC,这(包含递归包含的文件)是一个系统头文件,不应该生成任何警告消息。

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

票数 17
EN

Stack Overflow用户

发布于 2012-07-26 21:38:35

使用-isystem示例:

代码语言:javascript
复制
gcc -I./src/ -isystem /usr/include/boost/ -c file.c -o obj/file.o

使用-isystem时没有关于boost的警告:D

票数 43
EN

Stack Overflow用户

发布于 2014-10-10 18:55:53

如果您使用的是CMake,可以通过将SYSTEM添加到include_directories来实现这一点

代码语言:javascript
复制
include_directories(SYSTEM "${LIB_DIR}/Include")
                    ^^^^^^
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3308523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档