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 没包含但很有用的一个检查。

时间: 2024-08-07 00:06:53

GCC 警告选项 -Werror的相关文章

GCC警告选项例解

http://blog.csdn.net/hcx25909/article/details/7383716 GCC警告选项例解 程序员是追求完美的一族,即使是一般的程序员大多也都不想看到自己的程序中有甚至那么一点点的瑕疵.遇到任意一条编译器警告都坚决不放过.有人会说:我们可以使用比编译器更加严格的静态代码检查工具,如splint. 这个建议也很不错.不过lint工具使用起来较繁琐,有时候还需要记住一些特定符号并插入到你自己的代码中才行,门槛较高,这也让很多人止步于此.那么我 们就从此放弃么?不,

【转】GCC警告选项例解 -- 不错

原文网址:http://blog.csdn.net/hcx25909/article/details/7383716 程序员是追求完美的一族,即使是一般的程序员大多也都不想看到自己的程序中有甚至那么一点点的瑕疵.遇到任意一条编译器警告都坚决不放过.有人会说:我们可以使用比编译器更加严格的静态代码检查工具,如splint. 这个建议也很不错.不过lint工具使用起来较繁琐,有时候还需要记住一些特定符号并插入到你自己的代码中才行,门槛较高,这也让很多人止步于此.那么我 们就从此放弃么?不,如今的编译

一起talk GCC吧(第四回:GCC警告)

各位看官们,大家好,上一回咱们说的是GCC编译相关的内容.这一回咱们说说如何使用GCC发出警告,闲 话休提,言归正转.让我们一起talk GCC吧! 看官们,GCC有编译警告的功能.什么是编译警告?台下有看官提问了.所谓的编译警告就是编译器在编 译过程中把一些不符合编译规则但是又符合编译语法的内容给予警告.我用一个现实生活中的例子给大家 做个比喻:大家都看过足球比赛吧,足球比赛的裁判手里拿着拿着黄色和红色两种颜色的牌.比赛中球员 们违反比赛规则的事情经常发生,如果球员违反的规则不会给比赛带来严重

【转】各个层次的gcc警告 #pragma GCC diagnostic ignored &quot;-Wunused-parameter&quot; --不错

原文网址:http://blog.csdn.net/lizzywu/article/details/9419145 各个层次的gcc警告从上到下覆盖 变量(代码)级:指定某个变量警告 int a __attribute__ ((unused));指定该变量为"未使用的".即使这个变量没有被使用,编译时也会忽略则个警告输出. 文件级:在源代码文件中诊断(忽略/警告) 语法: #pragma GCC diagnostic [error|warning|ignored] "-W&l

GCC 警告

-w -W禁止/开启 编译警告的打印.这个警告不建议使用.大约2012年底,公司代码进行一次大重构,另外从Codeblock集成开发环境转向Makefile管理,Makefile里面默认使用了-w,因而代码一直没有警告,今年个别项目开发中发现一些代码笔误导致的BUG,而这些问题可以从编译警告中知道.前几个月,领导安排我来fix这些警告.为了自己,为了后人,不建议使用-w选项. -Werror将所有的警告当成错误处理.此选项谨慎建议加上.有的开源库警告很多(大名鼎鼎的ffmpeg也有很多警告呢),

gcc常用选项

gcc选项:    -c         只编译,不链接成为可执行文件,编译器只是由输入的.c等源代码文件生成.o为后缀的目标文件,通常用于编译不包含主程序的子程序文件.    -std=     指定标准    -E         制作预处理    -o          输出的文件名    -S         产生汇编代码    -Wall      显示全部警告    -On      优化,n可以是1/2/3代表程度    -i         filename指定要包含的头文件  

GCC --verbose选项, -lpthread 和-pthread的区别

verbose的意思是冗长的,繁杂的.顾名思义,gcc --verbose 的意思就是打印出编译连接时的详细信息. 参考stackoverflow中的文章结合自己机器的信息给出分析(其实也就是翻译了一下..嘿嘿.  原址:http://stackoverflow.com/questions/13440549/gcc-verbose-mode-output-explanation) 首先给出整体信息: [email protected]:~/APUE3/Chapter11$ gcc printid

Gcc 优化选项 与尾递归优化

今天做高性能计算机系统的作业的时候,发现gcc中的优化选项有很多应用 . 例如对于C源码: #include <stdio.h> #include <stdlib.h> int main() { int x[101],y[101]; int a,i; a = 5; for(i=0;i<=100;i++) { x[i] = i+1; y[i] = i; } for(i=100; i>=0; i--) y[i] += a*x[i]; return 0; } 1.直接用gcc

GCC 优化选项 -O1 -O2 -O3 -OS 优先级,-FOMIT-FRAME-POINTER(O3的优化很小,只增加了几条优化而已)

四种编译优化类型的解释: `-O ' `-O1 '                 Optimize.      Optimizing   compilation   takes   somewhat   more   time,   and   a                 lot   more   memory   for   a   large   function.                   With   `-O ',   the   compiler   tries