2014-04-26 110 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它不會出錯。