天天看點

關于編譯時的warning treated as error

         編譯器提示:warning treated as error,然後某個檔案未生成,build中斷。

         這是因為項目選項中把warning級别設定為了較高的級别導緻的,某些warning被當作error,進而不能生成。

         解決方法是在解決方案視窗中選中項目,右鍵點選project,選擇“屬性”,在彈出的對話框中,選擇左側TreeView中的“Configuration Properties”->“C/C++l”->“General”節點,在右側有“Treat Warnings As Errors”(将警告當作錯誤對待)選項。我們把該項該為NO即可。即把相應指令行的"/WX"改為"/W"。

         相應的編譯選項如下:(參考MSDN)

         /w    禁止所有警告 

         /Wn   指定顯示的最高等級警告。有效等級是0~4。0級禁止所有警告。4級顯示所有警告。

         /Wall 使能所有警告。

         /WX   視所有警告為錯誤。

         /wln  将某個指定警告視為某個級别。第一個參數是新的級别,第二個參數是警告号碼。例如/w14326 使 C4326成為1級警告。

         /wdn  禁止某特定警告。n是警告号。例如, /wd4326 禁止C4326警告。

         /wen  将某個指定警告視為錯誤。n是警告号。例如, /we4326 把 C4326 視為錯誤。

         /won  某警告僅僅報告一次。例如:wo4326使C4326僅僅報告一次。

繼續閱讀