在我正在从事的软件项目中,我们使用了某些第三方库,不幸的是,这些库会产生恼人的gcc警告。我们正在努力清理所有警告代码,并希望在GCC中启用视警告为错误(-Werror)标志。有没有办法让这些我们无法修复的第三方生成的警告消失?
发布于 2010-07-22 20:15:06
我假设你说的是来自第三方库头的警告。
特定于GCC的解决方案是创建另一个包装头文件,该文件本质上包含以下两行:
#pragma GCC system_header
#include "real_3rd_party_header.h"并使用包装器而不是原始的第三方标头。
检查详细说明编译指示的another SO response。它本质上告诉GCC,这(包含递归包含的文件)是一个系统头文件,不应该生成任何警告消息。
否则,我不知道如何禁用来自第三方代码的警告。当然,除了暴力之外:在构建系统中,配置要构建的文件,并关闭警告。
发布于 2012-07-26 21:38:35
使用-isystem示例:
gcc -I./src/ -isystem /usr/include/boost/ -c file.c -o obj/file.o使用-isystem时没有关于boost的警告:D
发布于 2014-10-10 18:55:53
如果您使用的是CMake,可以通过将SYSTEM添加到include_directories来实现这一点
include_directories(SYSTEM "${LIB_DIR}/Include")
^^^^^^https://stackoverflow.com/questions/3308523
复制相似问题