2014-04-26 73 views
1

我想问如果在recieving此警告后,使用忽略警告的危害是什么?

make -i 

,而不是

make 

无视这种警告的任何伤害:

utils.o: In function `ast_gethostbyname': 
/home/mohessaid/asterisk-1.4.44/main/utils.c:224: warning: gethostbyname_r is obsolescent, use getnameinfo() instead. 
+0

当然,使用-i选项后该过程已成功完成,并且此警告发生在编译过程的最后一个任务中。所有* .o文件都正确生成,但链接器似乎对此行有问题。 – mohessaid

回答

3

一般来说这是一个运行所有警告的编译的好主意,以便于在构建过程或运行时追踪错误。这对开发人员非常有用,但对最终用户也很有用。

作为一个例子,我不得不编译一个主要的软件,只有当我尝试使用它时,它抱怨SSL没有启用。回想一下编译输出,它打印出一个很大的警告,说有几个可选依赖关系没有被配置,所以他们的相关功能不会被启用。安装必要的SSL开发包make后,不再打印该特定依赖项的警告,我可以确定该功能可以正常工作。

至于-i具体,它说在man页是“忽略所有错误在执行翻拍文件中的命令”(我的重点)。那请问听起来像一个好主意,而且由于make退出当它遇到似乎有可能,你会得到一个有用的结果出来的过程中,-i或没有-i它不会出错。