You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让make在CC/GCC编译时屏蔽'redirecting incorrect #include'警告?

屏蔽GCC/CC编译时'redirecting incorrect #include'警告的特定标志

刚好碰到过一模一样的问题,我来给你捋清楚:

你看到的这个redirecting incorrect #include警告,是预处理阶段由系统头文件里的#warning指令触发的,从警告末尾的[-Wcpp]能看出来它属于GCC的-Wcpp警告组。要针对性屏蔽它,有两个层级的选项可选:

  • 精准屏蔽单一警告(推荐,GCC 10+可用):
    从GCC 10开始,这类头文件重定向的警告被单独划分到了-Winclude-redirection选项下,所以只要在编译时加上-Wno-include-redirection标志,就能只关掉这一个警告,不会影响其他预处理阶段的警告输出。

  • 关闭所有预处理警告(简单但范围广):
    如果你的GCC版本比较旧,或者不需要保留其他预处理警告,可以直接用-Wno-cpp标志,它会关闭所有属于-Wcpp组的警告,自然也包括这个重定向提示。

另外要注意,这些标志需要加到你的Makefile的CFLAGS或者CXXFLAGS变量里,比如:

CFLAGS += -Wno-include-redirection

或者如果是直接调用gcc的话,就把标志加在命令行里:

gcc -Wno-include-redirection your_source.c -o your_program

补充一下:--disable-warnings-as-errors只是让警告不会被当成错误终止编译,但还是会输出警告内容,而上面的标志是直接让这类警告不再显示,完全符合你的需求。

内容的提问来源于stack exchange,提问作者DhP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:21:47