![](/img/trans.png)
[英]How can I suppress g++ deprecation warnings in OCaml compilation when linking with C++ libraries?
[英]How to suppress specific warnings in g++
我想抑制來自g ++的特定警告。 我知道-Wno-XXX
標志,但我正在尋找更具體的東西。 我想要-Weffc++
一些警告,但不是所有警告。 像你可以用lint做的事情 - 禁用特定的消息。
在gcc中有內置的方法可以做到這一點嗎? 我是否必須編寫包裝腳本?
不幸的是,g ++不提供此功能。 在VC ++中,您可以使用#pragma warning來禁用某些特定警告。 在gcc中,最接近的是診斷編譯指示 ,它允許您為某些文件或項目啟用/禁用某些類型的診斷。
對於某些警告,有一個命令行開關來禁用它們。 要知道要使用哪個開關,請將-fdiagnostics-show-option傳遞給gcc。
將標准錯誤傳遞給過濾器,該過濾器會刪除您不想看到的內容。 例如,這是我的make文件:
main.o:main.cpp g ++ -c -Wall main.cpp 2>&1 | grep -v Wunused-variable
你可以在輸出上使用grep -v 。
根據您要禁用的警告,您有時可以更正代碼。 例如:
int main()
{
int i;
}
生成: foo.cc:4:警告:未使用的變量'i'
然而,這不是:
#define MARKUSED(X) ((void)(&(X)))
int main()
{
int i;
MARKUSED(i);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.