我最近安装了 VS2011 测试版,以感受微软在其最新版本的编译器中实现的新 C++11 功能。
不过,当我回到使用 VS2010 时,我遇到了一个意想不到的问题。我在 VS2010 中打开了一个 Windows SDK 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 ==========
我试图确定项目的哪些更改导致代码分析工具被执行,但我在项目属性中找不到任何内容。我尝试在 VS2011 中重新加载项目,但没有可以关闭的代码分析选项(如 MSDN 上所建议的那样)。
该项目完全是本机 C++,我从未将 C++ 与 CLR 一起使用
此外,我尝试打开其他项目(我自己的),现在他们也在调用这个代码分析阶段。这可以防止在许多情况下由于 Microsoft 代码问题而构建!构建似乎在 VS2011 beta 中成功。
谁能提供有关如何关闭此代码分析工具的见解?我希望保持 VS2011 beta 的安装状态,所以请不要建议卸载它,除非它是唯一的选择!