源地址: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显式指明).