Недавно я установил бета-версию VS2011, чтобы получить представление о новых возможностях C++ 11, которые Microsoft реализовала в последней версии своего компилятора.Анализ кода VS2011
У меня возникла неожиданная проблема при возврате к использованию VS2010. Я открыл образец образца Windows SDK 7.1 в VS2010.
Теперь, когда я строю в 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 ==========
Я попытался определить, какие изменения для проекта был запущен инструмент анализа кода, но я ничего не могу найти в свойствах проекта. Я попытался перезагрузить проект в VS2011, но нет возможности для анализа кода, который я могу отключить (as suggested on MSDN).
Проект полностью родной C++, я никогда не использовал C++ с CLR
Кроме того, я пытался открывать другие проекты (мой собственный), и теперь они также применение этой стадии анализа кода. Во многих случаях это предотвращает создание из-за проблем с кодом Microsoft! Похоже, что сборки в VS2011 бета-версии преуспевают.
Может кто-нибудь предложить понять, как отключить этот инструмент анализа кода? Я надеюсь, что вы оставите бета-версию VS2011, поэтому, пожалуйста, воздержитесь от ее удаления, если только это не единственный вариант!
Ничего себе. Я знал, что кто-то видел эту проблему раньше. Ответы, подобные этим, - это дань уважения работе сайта. +1 – sehe
+1 для неясных знаний – thecoshman
Анализ статического кода также включен в редакцию Professional и Premium: https://www.microsoft.com/visualstudio/11/de-de/products/compare Файлы проекта VS2012 и VS2010 полностью совместимы, поэтому имена одинаковы. – habakuk