/w、/W0、/W1、/W2、/W3、/W4、/w1、/w2、/w3、/w4、/Wall、/wd、/we、/wo、/Wv、/WX (警告層級)
指定編譯器如何對指定的編譯產生警告。
語法
/w
/W0
/W1
/W2
/W3
/W4
/Wall
/Wv [ : version ]
/WX
/w1 警告
/w2 警告
/w3 警告
/w4 警告
/wd 警告
/we 警告
/wo 警告
備註
警告選項會指定要顯示的編譯器警告,以及整個編譯的警告行為。
下表說明警告選項和相關引數:
選項 | 描述 |
---|---|
/w | 隱藏所有編譯器警告。 |
/W0 /W1 /W2 /W3 /W4 |
指定要由編譯器產生的警告層級。 有效的警告層級範圍從 0 到 4: /W0 會隱藏所有警告。 它相當於 /w 。 /W1 會顯示層級 1 (嚴重) 警告。 /W1 是命令列編譯器中的預設設定。 /W2 會顯示層級 1 和層級 2 (重大) 警告。 /W3 會顯示層級 1、層級 2 和層級 3 (生產品質) 警告。 /W3 是 IDE 中的預設設定。 /W4 會顯示層級 1、層級 2 和層級 3 警告,以及預設未關閉的所有層級 4 (資訊) 警告。 建議您使用此選項來提供類似 lint 的警告。 對於新專案,最好 在所有編譯中使用 /W4 。 此選項可協助確保最少可能難以尋找的程式碼缺失。 |
/Wall | 顯示 /W4 顯示的所有警告 ,以及 /W4 未包含的所有其他警告 ,例如,預設為關閉的警告。 如需詳細資訊,請參閱 預設 關閉的編譯器警告。 |
/Wv [ : version ] | 只顯示版本 編譯器版本和更早版本中引進的 警告。 當您移轉至較新版本的編譯器時,可以使用此選項來隱藏程式碼中的新警告。 它可讓您在修正建置程式時維護現有的建置程式。 選擇性參數 版本 的格式 為 nn [。 mm [. bbbbb ]],其中 nn 是主要版本號碼, mm 是選擇性的次要版本號碼,而 bbbbb 是編譯器的選擇性組建編號。 例如,使用 /Wv:17 只顯示 Visual Studio 2012(主要版本 17)或更早版本中引進的警告。 也就是說,它會顯示任何版本編譯器的警告,其主要版本號碼為 17 或更少。 它會隱藏 Visual Studio 2013 (主要版本 18) 和更新版本中引進的警告。 /Wv 預設 會使用目前的編譯器版本號碼,而且不會隱藏任何警告。 如需編譯器版本隱藏哪些警告的相關資訊,請參閱 編譯器版本的 編譯器警告。 |
/WX | 將所有編譯器警告視為錯誤。 對於新專案,最好 在所有編譯中使用 /WX ;解決所有警告可確保最不可能找到的程式碼缺失。 連結器也有 /WX 選項。 如需詳細資訊,請參閱 /WX (將連結器警告視為錯誤)。 |
下列選項彼此互斥。 從這個群組指定的最後一個選項是套用的:
選項 | 描述 |
---|---|
/w1 nnnn /w2 nnnn /w3 nnnn /w4 nnnn |
設定 nnnn 所 指定之警告編號的警告層級。 這些選項可讓您在設定特定警告層級時變更該警告的編譯器行為。 您可以將這些選項與其他警告選項搭配使用,以強制執行您自己的警告編碼標準,而不是 Visual Studio 提供的預設程式碼標準。 例如, /w34326 會使 C4326 產生為層級 3 警告,而不是層級 1。 如果您使用 /w34326 選項和 /W2 選項進行編譯 ,則不會產生警告 C4326。 |
/wd nnnn | 隱藏 nnnn 所 指定的編譯器警告。 例如, /wd4326 會隱藏編譯器警告 C4326。 |
/we nnnn | 將 nnnn 指定的 編譯器警告視為錯誤。 例如, /we4326 會導致編譯器將警告編號 C4326 視為錯誤。 |
/wo nnnn | 報告 nnnn 僅指定一次的 編譯器警告。 例如, /wo4326 只會報告警告 C4326 ,這是編譯器第一次遇到。 |
如果您在建立先行編譯標頭時使用任何警告選項,則會保留這些設定。 使用先行編譯標頭會將這些相同的警告選項再次生效。 若要覆寫先行編譯的標頭警告選項,請在命令列上設定另一個警告選項。
您可以使用 #pragma warning 指示詞來控制在特定原始程式檔的編譯時間所報告的警告層級。
原始程式碼中的警告 pragma 指示詞不受 /w 選項影響 。
建 置錯誤檔 描述警告和警告層級,並指出為何某些語句可能不如您打算編譯。
在 Visual Studio 開發環境中設定編譯器選項
開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性。
若要設定 /W0 、 /W1 、 /W2 、 /W3 、 /W4 、 /Wall 、 /Wv 、 /WX 或 /WX - 選項,請選取 [組態屬性 > C/C++ > 一般]。
若要設定 /W0 、 /W1 、/W2 、 /W3 、 /W4 或 /Wall 選項,請修改 警告層級 屬性。
若要設定 /WX 或 /WX - 選項,請修改 [將警告視為 Errors] 屬性。
若要設定 /Wv 選項的版本,請在 [警告版本 ] 屬性中 輸入編譯器版本號碼。
若要設定 /wd 或 /we 選項,請選取 [ 組態屬性 C/C++ > 進階 ] > 屬性頁。
若要設定 /wd 選項,請選取 [ 停用特定警告 ] 屬性下拉式清單控制項,然後選擇 [ 編輯 ]。 在 [停用特定警告 ] 對話方塊的編輯方塊中 ,輸入警告編號。 若要輸入多個警告,請使用分號 ( ; ) 分隔值。 例如,若要停用 C4001 和 C4010,請輸入 4001;4010 . 選擇 [ 確定 ] 以儲存變更,並返回 [ 屬性頁 ] 對話方塊。
若要設定 /we 選項,請選取 [ 將特定警告視為錯誤] 屬性下拉式清單控制項,然後選擇 [ 編輯 ]。 在 [將特定警告視為錯誤 ] 對話方塊中的編輯方塊中 ,輸入警告編號。 若要輸入多個警告,請使用分號 ( ; ) 分隔值。 例如,若要將 C4001 和 C4010 視為錯誤,請輸入 4001;4010 . 選擇 [ 確定 ] 以儲存變更,並返回 [ 屬性頁 ] 對話方塊。
若要設定 /wo 選項,請選取 [ 組態屬性 C/C++ > 命令列 ] > 屬性頁。 在 [ 其他選項 ] 方塊中輸入編譯器選項。
選取 [確定] 儲存您的變更。
若要以程式設計方式設定編譯器選項
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應