2012-06-07 14 views
5

मैंने हाल ही में वीएस2011 बीटा स्थापित किया है ताकि नए सी ++ 11 फीचर माइक्रोसॉफ्ट ने अपने कंपाइलर की नवीनतम रिलीज में लागू किया हो।वीएस2011 कोड विश्लेषण

हालांकि VS2010 का उपयोग करने के लिए वापस जाने पर मुझे एक अनपेक्षित समस्या हुई है। मैंने वीएस -2010 में एक विंडोज एसडीके 7.1 नमूना प्रोजेक्ट खोला है।

अब जब मैं VS2010 में निर्माण, मैं निम्नलिखित उत्पादन मिलता है, (संकलन के बाद प्रतीत होता है, लेकिन लिंक करने से पहले)

1>------ Rebuild All started: Project: MFCaptureToFile, Configuration: Debug Win32 ------ 
1> winmain.cpp 
1> capture.cpp 
1> Running Code Analysis for C/C++... 
1>capture.cpp(112): error C2220: warning treated as error - no 'object' file generated 
1>c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\mediafoundation\mfcapturetofile\capture.cpp(105): warning C6309: Argument '3' is null: this does not adhere to function specification of 'IMFAttributes::GetAllocatedString' 
1>c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\mediafoundation\mfcapturetofile\capture.cpp(105): warning C6387: 'argument 3' might be '0': this does not adhere to the specification for the function 'IMFAttributes::GetAllocatedString': Lines: 98, 103, 105 
1>c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\mediafoundation\mfcapturetofile\capture.cpp(353): warning C6309: Argument '3' is null: this does not adhere to function specification of 'IMFAttributes::GetAllocatedString' 
1>c:\program files\microsoft sdks\windows\v7.1\samples\multimedia\mediafoundation\mfcapturetofile\capture.cpp(353): warning C6387: 'argument 3' might be '0': this does not adhere to the specification for the function 'IMFAttributes::GetAllocatedString': Lines: 336, 338, 340, 343, 351, 353 
1>C:\Program Files\Microsoft SDKs\Windows\v7.1\Include\ks.h(53): error C2220: warning treated as error - no 'object' file generated 
1>c:\program files\microsoft sdks\windows\v7.1\include\ks.h(53): warning C6244: Local declaration of 'GUID_NULL' hides previous declaration at line '28' of 'c:\program files\microsoft sdks\windows\v7.1\include\cguid.h' 
1> Generating Code... 
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ========== 

मैं क्या परिवर्तन का निर्धारण करने का प्रयास किया इंगित करता है कि एक कोड विश्लेषण उपकरण निष्पादित किया जा रहा है प्रोजेक्ट के लिए कोड विश्लेषण उपकरण निष्पादित किया गया है, लेकिन मुझे प्रोजेक्ट गुणों में कुछ भी नहीं मिला है। मैंने वीएस2011 में प्रोजेक्ट को पुनः लोड करने का प्रयास किया है, लेकिन कोड विश्लेषण के लिए कोई विकल्प नहीं है जिसे मैं बंद कर सकता हूं (as suggested on MSDN)।

परियोजना पूरी तरह से CLR के साथ देशी सी ++, मैं सी उपयोग नहीं किया है ++ है

इसके अलावा, मैं (मेरे अपने) अन्य परियोजनाओं खोलने और अब वे भी इस कोड विश्लेषण चरण लागू कर रहे हैं की कोशिश की है। यह कई मामलों में माइक्रोसॉफ्ट कोड के साथ समस्याओं के कारण इमारत को रोकता है! बिल्ड्स वीएस2011 बीटा में सफल होने लगते हैं।

क्या कोई इस कोड विश्लेषण उपकरण को बंद करने के तरीके में अंतर्दृष्टि प्रदान कर सकता है? मैं वीएस2011 बीटा स्थापित करने की उम्मीद करता हूं, इसलिए कृपया इसे अनइंस्टॉल करने का सुझाव देने से बचें, जब तक कि यह एकमात्र विकल्प न हो!

उत्तर

12

मुझे लगता है कि केवल वीएस -2010 अल्टीमेट कोड विश्लेषण का समर्थन करता है। मेरे पास वीएस2012 नहीं है लेकिन मुझे लगता है कि आपको vcxproj फ़ाइल को मैन्युअल रूप से संपादित करना चाहिए।

इनमें से एक या पैरामीटर दोनों के लिए देखो अगर वे अपनी परियोजना फाइल के अंदर मौजूद हैं: <RunCodeAnalysis>true</RunCodeAnalysis> और <EnablePREfast>true</EnablePREfast>

बदलें false करने के लिए दोनों मूल्यों और यह काम करना चाहिए।

कृपया ध्यान दें कि इन नामों का उपयोग VS2010 द्वारा किया जाता है और मुझे यकीन है कि अगर वे इसे VS2012 में बदल देते हैं तो मुझे यकीन नहीं है।

+9

वाह। मुझे पता था कि किसी ने पहले इस समस्या को देखा होगा। इस तरह के उत्तर इस बात का श्रद्धांजलि है कि साइट कैसे काम करती है। अस्पष्ट ज्ञान के लिए +1 – sehe

+0

+1 – thecoshman

+0

स्टेटिक कोड विश्लेषण व्यावसायिक और प्रीमियम संस्करण में भी शामिल है: https://www.microsoft.com/visualstudio/11/de-de/products/compare VS2012 की प्रोजेक्ट फ़ाइलें और वीएस -2010 पूर्ण संगत हैं, इसलिए नाम समान हैं। – habakuk

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