2010-11-11 15 views
20

में एक चेतावनी सक्षम करें क्या विजुअल स्टूडियो में एक चेतावनी को सक्षम करने के लिए कोई कंपाइलर स्विच है?विजुअल स्टूडियो

कारण मैं पूछता हूं कि मैं चेतावनी C4265 को सक्षम करना चाहता हूं जो डिफ़ॉल्ट रूप से बंद है। मेरी खोज ने केवल चेतावनियों को बंद करने के तरीकों को बदल दिया है।

यहां तक ​​कि How to: Enable or Disable Compiler Warnings नामक माइक्रोसॉफ्ट पेजों को अभी भी अक्षम करने का उल्लेख है।

उत्तर

19

आप परियोजना की स्थापना में (या बंद) यह चालू करना चाहते हैं, तो आप करने के लिए जाना है:

यहाँ Microsoft से एक स्पष्ट उदाहरण है अतिरिक्त विकल्प आप दर्ज कर सकते हैं:

/w3#### अपनी चेतावनी को स्तर 3 पर सेट करने के लिए, और इस प्रकार इसे सक्षम करें; या आप चेतावनी को अक्षम करने के लिए /wd#### दर्ज कर सकते हैं।

+0

सर्वश्रेष्ठ उत्तर धन्यवाद एक बहुत मैंने नहीं देखा है यह MSDN पर कहीं भी उल्लेख किया –

+1

MSDN लिंक https://msdn.microsoft.com/en-us/library। /thxezb7y.aspx असल – esmirnov

+0

वाई काम नहीं करता है वें VStudio 2015. इसे सिनर्जी के हर एक परियोजना में जोड़ा गया, लेकिन अभी भी निर्माण त्रुटि मिली है "कृपया इसे सक्षम करें"। सभी कॉन्फ़िगरेशन के लिए अतिरिक्त पैरामीटर **/w34005 ** का उपयोग करें। – Slesa

21
#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

+1।हां, शब्द * डिफ़ॉल्ट * का अर्थ है * डिफ़ॉल्ट चेतावनी स्तर *, नहीं * डिफ़ॉल्ट स्थिति *। इसे इंगित करने के लिए धन्यवाद, मुझे यह खुद नहीं मिला। – sharptooth

+0

मैं एक संकलक झंडा लिए देख रहा था के रूप में तो चेतावनी परिभाषित नहीं है परियोजना विस्तृत बल्कि एक कोड परिवर्तन की तुलना में यह करने के लिए,, हालांकि ऐसा लगता है यह एक ही रास्ता परिणाम :( – 0xC0DEFACE

+3

यह _default अगर काम नहीं करेगा प्राप्त करने के लिए है चयनित चेतावनी की चेतावनी level_ कम स्तर परियोजना गुण में स्थापित की तुलना में (गंभीरता के संदर्भ में) है ** उदाहरण:। ** चेतावनी स्तर 3 (/ डब्ल्यू 3) पर सेट है, लेकिन चेतावनी [C4245] (http://msdn.microsoft.com/en-us/library/e9s7thk1.aspx) '(डिफ़ॉल्ट का उपयोग करना #pragma चेतावनी 4. की एक डिफ़ॉल्ट स्तर है: 4245)' इसे सक्षम नहीं होगा, लेकिन '#pragma चेतावनी (3 :।! 4245) 'करता है (यह सिर्फ मुझे थोड़ा) –

1

#pragma warning अधिक दिखाई के बारे में मथायस ब्रैंडिल की टिप्पणी करने के लिए:

#pragma warning (<warning level>: 4265) 

सिर्फ आप यदि: आप एक चेतावनी स्तर से कम 3 के साथ संकलन कर रहे हैं

, तो आप इस वाक्य विन्यास का उपयोग करने के लिए है 3 स्तर के साथ संकलन या उच्चतर आप चेतावनी 4265 के लिए

#pragma warning (default: 4265) 

क्योंकि कर सकते हैं, default 3 स्तर (MSDN देखें) का मतलब ।

documentation for #pragma warning पढ़ता है:

warning-specifier

1, 2, 3, 4 अर्थ निर्दिष्ट चेतावनी (ओं) को दिए गए स्तर को लागू करें। यह एक निर्दिष्ट चेतावनी भी चालू करता है जो डिफ़ॉल्ट रूप से बंद होता है।

default चेतावनी व्यवहार को इसके डिफ़ॉल्ट मान पर रीसेट करें। यह एक निर्दिष्ट चेतावनी भी चालू करता है जो डिफ़ॉल्ट रूप से बंद होता है। चेतावनी इसके डिफ़ॉल्ट, दस्तावेज, स्तर पर उत्पन्न की जाएगी।

संबंधित मुद्दे