如何使g ++导致异常而不是格式错误警告

时间:2014-08-15 16:04:45

标签: c++ gcc

我需要强制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为我做这件事?

谢谢=)

1 个答案:

答案 0 :(得分:3)

使用开关-Werror=format

更一般地说,只要您收到警告要转为错误,请使用-Werror=(warning name);在极端情况下,仅-Werror会导致所有警告变成错误。