C 快速覆盖-Werror标志?

C 快速覆盖-Werror标志?,c,gcc,makefile,cc,C,Gcc,Makefile,Cc,如果cc配置设置为使用-Werror是否有方法在使用make时从终端覆盖-Werror标志?您可以在调用make时设置标志: CFLAGS=-Wno-error make 随后将-Wno error传递给编译器,可能在makefile中放入CFLAGS就可以了。请参阅在makefile中而不是从终端执行此操作。在这种情况下有一个更好的答案。最后,我通过修改源文件来删除-Werror,并使用以下命令find解决了这个问题-名称Makefile-or-name'*m4'-exec sed-is/-

如果cc配置设置为使用
-Werror
是否有方法在使用make时从终端覆盖
-Werror
标志?

您可以在调用make时设置标志:

CFLAGS=-Wno-error make

随后将
-Wno error
传递给编译器,可能在makefile中放入
CFLAGS
就可以了。请参阅在makefile中而不是从终端执行此操作。在这种情况下有一个更好的答案。最后,我通过修改源文件来删除-Werror,并使用以下命令
find解决了这个问题-名称Makefile-or-name'*m4'-exec sed-is/-Werror//g{}\请确保在使用前进行备份,因为它可能会破坏内容。您可能需要调整
find
以查找包含make定义的文件。这可能不起作用。大多数makefile都有一个默认的CFLAGS设置,类似于
CFLAGS=-O2-g
之类的。为了覆盖这一点,您必须在不在环境中的命令行上传递赋值:改为运行
make CFLAGS=-Wno error
。@这是一个很好的观点,但如果您将CFLAGS赋值作为参数传递给
make
,它将破坏任何设置,并可能完全破坏构建(除非只设置了
-Werror
)。如果是这种情况,那么最好的方法就是通过
/configure--额外的cflags
(如果可用)。