代码改变世界

如何设置c++ 编译器选线,禁用第三方库的警告

2012-05-03 16:40  Rollen Holt  阅读(1112)  评论(0编辑  收藏  举报

源地址:http://q.cnblogs.com/q/29557/

问题描述:

c++ 或者gcc选项如何设置,才能禁用第三方库的警告(比如boost库的警告)。#pragma这种在源代码级别禁用警告的方法不算(这种方法不是我需要的)。如果可以,cmake中如何设置(这个算另外一个问题吧。)。(提问前,我已经google,baidu过了,没有找到有用的文献。)

解答:

建议的方式,在使用第三方库的时候创建一个新的头文件称为wrapper header ,包含第三方库的头文件,在你的wrapper header 里面这样写:

#pragma GCC system_header
#include"real_3rd_party_header.h"

从#pragma GCC system_header直到文件结束之间的代码会被编译器视为系统头文件之中的代码. 系统头文件中的代码往往不能完全遵循C标准, 所以头文件之中的警告信息往往不显示. (除非用 #warning显式指明).