Keil MDK‑5 中使用 GNU ARM GCC 的 -Wno-* 选项屏蔽编译警告

在项目编译过程中,我们常常会遇到许多警告提示;而在有些情况下,当我们已经了解这些警告的原因时,可以选择忽略它们,从而减少干扰,集中精力修复其他更重要的问题。

一、添加屏蔽警告的编译选项

(一) 在工程中打开 "Options for Target"(可在魔法棒配置界面内找到对应入口)。

(二)切换到 "C/C++" 选项卡。 定位到 "Misc Controls" 文本框。

(三)将以下内容复制并粘贴到文本框中(各选项之间请确保用空格隔开,可按需填入):

-Wno-c11-extensions -Wno-date-time -Wno-padded -Wno-undef -Wno-missing-variable-declarations -Wno-cast-qual -Wno-unreachable-code -Wno-shift-sign-overflow

(四)点击 "OK" 保存设置

(五)编译项目并验证

二、说明各选项功能

-Wno-c11-extensions:屏蔽 C11 新特性(如匿名联合、泛型宏)的警告。

-Wno-date-time:屏蔽使用 DATE 和 TIME 宏所引发的警告。

-Wno-padded:屏蔽结构体自动内存对齐导致的填充警告。

-Wno-undef:屏蔽所有未定义宏的警告。

-Wno-missing-variable-declarations:屏蔽所有没有外部声明的非静态变量的相关警告

-Wno-cast-qual:屏蔽丢弃 const 或 volatile 限定符的行为

-Wno-unreachable-code:屏蔽与不可达代码(unreachable code)相关的警告

-Wno-shift-sign-overflow:屏蔽与符号位移溢出相关的警告

-Wno-gnu-zero-variadic-macro-arguments:屏蔽与 GNU 扩展中处理空变参宏(variadic macros)相关的警告

相关推荐
Awh-2 小时前
ARM 裸机开发 DAY9 学习笔记
arm开发·笔记·学习
en.en..4 小时前
8086、x86、ARM 结构化详解
arm开发
sunoo-2296 小时前
嵌入式Linux驱动学习笔记(第3-6天):从misc封装、platform总线到设备树、中断与单总线外设实战
linux·arm开发·驱动开发·笔记·单片机·学习
半杯咖啡半行码20 小时前
STM32之ARM通用汇编指令详解:从指令格式到寻址方式
汇编·arm开发·stm32
书生执笔画浮沉21 小时前
分享一个开源小工具CAdapt
linux·c·gnu·glibc·kernel·升级·灵感
szxinmai主板定制专家1 天前
基于RK3588+FPGA+AI的储能电站边缘网关,实现电力数据采集与智能预警
arm开发·人工智能·fpga开发·rk3576·半导体设备
XMAIPC_Robot1 天前
储能控制器产品化:ARM+FPGA整机高低温、EMC可靠性测试实战总结
arm开发·人工智能·fpga开发·arm+fpga·rk3588+fpga
半杯咖啡半行码1 天前
ARM交叉编译环境搭建与Qt源码编译移植全过程详解
arm开发
XMAIPC_Robot1 天前
FPGA+ARM联合调试避坑:储能电力采样数据同步、丢包问题定位与根治方案,应用于储能EMS、微网控制器中
arm开发·人工智能·fpga开发·rk3588+fpga·rk3576+fpga