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 沒包含但很有用的一個檢查。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章