如何在make命令的CFLAGS变量中添加-Wno-deprecated以消除弃用警告
解决make命令传递CFLAGS时的"empty variable name"错误
你遇到的问题有两个核心原因:
- 命令行给make传递变量时,不能用Makefile内部的
+=语法——这会让make误判为要定义空变量,直接触发报错。 - 多写了
-D前缀:-Wno-deprecated是GCC/Clang的警告控制选项,和预处理器宏定义无关,不需要加-D(-D是用来定义宏的,比如-DDEBUG)。
正确的命令写法分两种场景:
- 直接覆盖原有CFLAGS(不需要保留Makefile里的CFLAGS内容):
make all CFLAGS="-Wno-deprecated"
- 在原有CFLAGS基础上追加选项(保留Makefile里的CFLAGS,新增警告控制选项):
make all CFLAGS='$(CFLAGS) -Wno-deprecated'
用单引号是为了避免shell提前展开$(CFLAGS),让make自己处理这个变量引用。
执行上述命令后就能正常添加-Wno-deprecated选项,消除弃用警告。
内容的提问来源于stack exchange,提问作者keith bradley
相关产品推荐
相关产品推荐

