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