2013-02-18 67 views
8

我想改變警告和錯誤的行爲對我的G ++編譯器:設置警告視爲錯誤G ++

  • 我想,正常的警告發現爲錯誤(-Werror
  • 我想額外的警告被發現。 (-Wall-Wextra

但我的問題是,這樣,所有和額外的警告都會產生錯誤。有沒有辦法實現我想要的,而不需要在-Werror=xxx,xxx,xxx設置一個長列表。
是否有某種錯誤的別名?

回答

11

如果您只是給-Werror所有警告都會出現錯誤。除了將您(不想)列爲錯誤的錯誤列爲-W(no)error=xxx之外,我不認爲有任何方法可以「將某些警告寫入錯誤」。

當然,一個解決方案可能是編譯代碼的兩倍 - 與-Wall-Wextra,並曾經與-Werror一次,但不是-Wall-Wextra

從長遠來看,我相信這將是值得額外的努力標記哪些錯誤你(不)要-Werror看到錯誤[雖然我會說更好的解決方案可能會使用 - Wno-xxx,禁用任何您認爲可接受的警告,而不是「警告但不要使其成爲錯誤」 - 畢竟,在我看來,-Werror的目的是防止代碼被提交給帶警告的項目在其中 - 這應該是以下兩件事之一:警告是固定的,或警告被禁用。無論這個項目是否合理]。

4

而不是使用-Werror=...和一長串警告列表,您可以使用-Werror -Wno-error=...以及更短的警告列表(僅限-Wall -Wextra啓用的列表)。該手冊列出了-Wall -Wextra啓用了哪些警告,因此這是毫不費力的。