gcc:call to '__open_missing_mode' declared with attribute error

错误如下

gcc:call to '__open_missing_mode' declared with attribute error

网上找了下,下面是原文

 

这纯属软件bug,因为使用open函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。而在gcc-3.3.6~3.4.4/gcc/的collect2.c文件中有漏掉第 三个参数的错误,而gcc-4.3对语法错误的检查严格是出了名的(4.1就不会因此错误退出),所以就退出了。
    这也是可以解决的,就是在gcc-3.3.6/gcc/collect2.c中的第1535行(或者其他行,可以搜索)改为:

redir_handle = open (redir, O_WRONLY | O_TRUNC | O_CREAT, 0777);

 

哈哈,问题解决了,也就是加了0777那第三个参数

你可能感兴趣的:(gcc)