是否有編譯器開關在Visual Studio中啓用單個警告?在Visual Studio中啓用單個警告
我問的原因是我想啓用警告C4265默認關閉。我的搜索只是開啓了關閉警告的方法。
即使是Microsoft網頁How to: Enable or Disable Compiler Warnings仍然只提到禁用。
是否有編譯器開關在Visual Studio中啓用單個警告?在Visual Studio中啓用單個警告
我問的原因是我想啓用警告C4265默認關閉。我的搜索只是開啓了關閉警告的方法。
即使是Microsoft網頁How to: Enable or Disable Compiler Warnings仍然只提到禁用。
如果你想在項目設置將其打開(或關閉),你必須去:
Configuration Properties -> C/C++ -> Command Line
然後在附加選項您可以輸入:
/w3####
將您的警告設置爲3級,從而啓用它;或者您可以輸入/wd####
來禁用警告。
#pragma warning(default:4265)
看起來這樣會將警告設置爲默認設置(將被禁用),但事實並非如此。它打開它。
http://msdn.microsoft.com/en-us/library/2c8f766e%28VS.80%29.aspx
你也可以這樣做:
#pragma warning(X:4265)
// where X is the warning level(1,2,3 or 4) that you want this warning to be generated at
+1。是的,單詞*默認*表示*默認警告級別*,而不是*默認狀態*。感謝您指出這一點,我自己沒有找到它。 – sharptooth 2010-11-11 06:57:23
我正在尋找一個編譯器標誌來做到這一點,而不是代碼更改,因爲然後警告沒有定義項目範圍,但它似乎這是實現結果的唯一方法:( – 0xC0DEFACE 2010-11-18 00:56:09
這不會工作,如果_default **示例:** 警告級別設置爲3(/ W3),但是警告[C4245]((警告級別))設置爲3 http://msdn.microsoft.com/en-us/library/e9s7thk1.aspx)的默認級別爲4.使用'#pragma警告(默認:4245)'不會啓用它,但'#pragma警告(3 :4245)'does。(this just bit me) – 2014-09-02 11:56:14
用途:
#pragma warning(default:4265)
和至少/W3
編譯。
下面是微軟一個明顯的例子:
http://msdn.microsoft.com/en-us/library/wzxffy8c(v=VS.90).aspx
爲了讓馬特烏斯布蘭德的評論關於#pragma warning
更爲明顯:
如果你用警戒線低於3編譯,你必須使用此語法:
#pragma warning (<warning level>: 4265)
只有當你與3級編譯或更高版本,你可以警告4265做
#pragma warning (default: 4265)
,因爲default
意味着3級(見MSDN) 。
的documentation for #pragma warning
寫着:
warning-specifier
含義
1, 2, 3, 4
應用給定級別到指定的警告(S)。這也會打開一個默認關閉的指定警告。
default
將警告行爲重置爲其默認值。這也會打開一個默認關閉的指定警告。該警告將以默認的,記錄的級別生成。
最好的答案!非常感謝!我在MSDN上的任何地方都沒有看到它提到的內容 – 2014-03-21 12:01:32
MSDN鏈接https://msdn.microsoft.com/en-us/library /thxezb7y.aspx – esmirnov 2016-02-26 13:42:24
其實不行wi th VStudio 2015.將它添加到Synergy的每個單個項目中,但仍然出現構建錯誤「請啓用它」。對於所有配置使用附加參數**/w34005 **。 – Slesa 2016-06-21 09:33:28