我需要强制gcc在这段代码上引发异常而不是警告:
#include <stdio.h>
int main()
{
printf ("Decimals: %d \n", 1977123124L);
return 0;
}
现在我运行cmd:
g++ test.cpp -o test.o
test.cpp是一个包含此代码的文件。
我在输出中发出警告信息:
test.cpp:6: warning: format ‘%d’ expects type ‘int’, but argument 2 has type ‘long int’
和test.o文件已创建。
我想要的是错误信息和编译失败。
是否有一些旗帜或其他什么可以帮助gcc为我做这件事?
谢谢=)
答案 0 :(得分:3)
使用开关-Werror=format
。
更一般地说,只要您收到警告要转为错误,请使用-Werror=(warning name)
;在极端情况下,仅-Werror
会导致所有警告变成错误。