GCC 警告选项 -Werror

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GCC 警告选项 -Werror相关的知识,希望对你有一定的参考价值。


cc1plus: all warnings being treated as errors

解决办法:只需要找到相应的Makefile,去掉编译选项中的 -Werror 即可。


--Werror

视警告为错误;出现任何警告即放弃编译.


-Wall

会打开一些很有用的警告选项,建议编译时加此选项。


-Wextra

打印一些额外的警告信息。


-w

禁止显示所有警告信息。


=============================================


#include <stdio.h>

#include <sys/types.h>


ssize_t test(void)

{

   return -1;

}


int main()

{

   size_t ret;


   if (( ret = test() ) < 0)

       printf("impossible\n");


   return 0;

}


如果按照下面方式编译,执行不会有警告信息

$ gcc -Wall test.c


如果加上 -Wextra 选项会告知编译器做更深度的检查报告

$ gcc -Wall -Wextra test.c

test.c: In function ‘main‘:

test.c:13: warning: comparison of unsigned expression < 0 is always false


-Wextra 还有更多的检查,上面只是其中一个 -Wall 没包含但很有用的一个检查。


本文出自 “清风徐来” 博客,请务必保留此出处http://cui918.blog.51cto.com/5884562/1877396

以上是关于GCC 警告选项 -Werror的主要内容,如果未能解决你的问题,请参考以下文章

GCC 不尊重“pragma GCC diagnostic”以消除警告 [重复]

禁用所有 gcc 警告

gcc 警告“在 GCC 7.1 中为 X 传递的项目参数已更改”是啥意思?

各个层次的gcc警告

gcc 多行注释警告

为啥gcc会有一个long long的警告?