C++ Visual Studio 2012 issues - c++

Updated problem #3
I've narrowed the problem. It seems that simply including <thread> makes the compiler go mad.
I am not even making any thread calls, just including it.
I have tried enabling /EHsc and also disabling it.
Disabled, I get:
I get these 6 messages:
Error 1 error C2220: warning treated as error - no 'object' file generated (main.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 313 1 cefclient
Warning 2 warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc (main.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 313 1 cefclient
Error 3 error C2220: warning treated as error - no 'object' file generated (Program.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 313 1 cefclient
Warning 4 warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc (Program.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 313 1 cefclient
Error 5 error C3861: '__uncaught_exception': identifier not found (main.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 4774 1 cefclient
Error 6 error C3861: '__uncaught_exception': identifier not found (Program.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 4774 1 cefclient
And if enabled (Configuration Properties -> C/C++ -> Code Generation & in the Command Line)
Error 1 error C3861: '__uncaught_exception': identifier not found (main.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 4774 1 cefclient
Error 2 error C3861: '__uncaught_exception': identifier not found (Program.cpp) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\concrt.h 4774 1 cefclient
I did a simple test with a new, blank project, including thread and just compiling. It went fine, no errors.
However in my main project I am using Chromium Embedded Framework v3, which seems to interact strangely with the thread inclusion?
Seems odd that simply including it would make such a mess.
Any ideas?
Update:
By removing the _HAS_EXCEPTIONS=0 flag entirely and rebuilding the project from CMake, I enter a state where the project won't even compile.
Due to this change it throws out a ton of warnings and errors from various files.
Errors such as:
Warning 230 warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc (C:\Users\mads\Desktop\cef_binary_3.2526.1347.gcf20046_windows32\cefclient\browser\client_handler_osr.cc) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xlocale 337 1 cefclient
According to a lot of asking around and googling, the solution to this is to specify /EHsc in Project Properties -> C/C++ -> Code Generation -> Enable C++ Exceptions = Yes(/EHsc).
As well as setting the flag /EHsc in the Command Line input field.
However, nothing changes. The same errors come out as if nothing was changed.
Update:
The error
Warning 2 warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc (C:\Users\mads\Desktop\cef_binary_3.2556.1368.g535c4fb_windows32\libcef_dll\transfer_util.cc) C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xlocale 337 1 libcef_dll_wrapper
comes from the project "libcef_dll_wrapper", despite the fact that I HAVE speficied /EHsc in its project settings! Both in C++ -> Code Generation page and the Command Line
Solution edit:
Turns out that cmake files would override my set settings everytime I attempted to build or run the project, hence rendering any changes I made un-used, despite being set!
I was able to solve the problem by editing the project's cmake files directly.
Never used cmake before, so in the end it became a learning experience.
I have tested my project with thread inclusion now and it compiles as expected!
Thanks to all for great suggestions

Make sure neither the code nor the compiler command line define _HAS_EXCEPTIONS=0.
Compiling VC++ 12.0 with _HAS_EXCEPTIONS=0 and including concrt.h causes a compiler error:
If a source file is compiled with VC++ 12.0 with _HAS_EXCEPTIONS set to 0 and the source includes, whether directly or indirectly, concrt.h, the compiler gives an error of:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\INCLUDE\concrt.h(4774) : error C3861: '__uncaught_exception': identifier not found
[...] Macro _HAS_EXCEPTIONS=0 is undocumented and unsupported by Microsoft.
It may work with some parts of the STL library for legacy reasons, but it won't be compatible with ConcRT library (concrt.h) since ConcRT depends on exceptions for cancellation.

Related

Error in including atlconv.h in VS 15.7

We have a legacy code that uses ATL that was running fine on Windows until we used VS2017 15.6. When we upgraded to 15.7, we started hitting the following compilation error:
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\atlmfc\include\atlconv.h(395): error C3861: 'AtlThrowLastWin32': identifier not found
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.14.26428\atlmfc\include\atlconv.h(406): note: see reference to class template instantiation 'ATL::CA2WEX' being compiled
A quick search found the following link: https://naughter.wordpress.com/2017/01/02/a-comprehensive-comparison-of-the-mfc-atl-changes-in-vs-2017-rc-compared-to-visual-studio-2015-update-3-part-1/
which has the following information:
Line 91: Minor change to comment to fix spelling mistake
Line 94: AtlThrowImpl is now declared as __declspec(noreturn)
Line 112: AtlThrowLastWin32 is now declared as __declspec(noreturn)
We are using both
define _ATL_NO_EXCEPTIONS
define _ATL_CUSTOM_THROW
Has anyone successfully compiled a C++ project that includes ATL on latest VS (15.7) with _ATL_NO_EXCEPTIONS and _ATL_CUSTOM_THROW turned on?

Error when opening UnrealEngine

Im new to UnrealEngine but I have worked with unity before. im trying to create a new unreal engine file but I keep getting this error every time I try (Can not compile, basically):
The project could not be compiled. Would you like to open it in Visual Studio?
Running C:/Program Files/Epic Games/UE_4.10/Engine/Binaries/DotNET/UnrealBuildTool.exe test Development Win64 -project="C:/Users/abdel/Desktop/gamemaking/Unreal/BuildingEscape/test/test.uproject" -rocket -editorrecompile -progress -noubtmakefiles -2015
#progress push 5%
Parsing headers for testEditor
Running UnrealHeaderTool "C:/Users/abdel/Desktop/gamemaking/Unreal/BuildingEscape/test/test.uproject" "C:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Intermediate\Build\Win64\testEditor\Development\UnrealHeaderTool.manifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -rocket -installed
Reflection code generated for testEditor in 7.1584488 seconds
#progress pop
Performing 8 actions (2 in parallel)
[2/8] Resource PCLaunch.rc
PCH.test.h.cpp
[3/8] Resource ModuleVersionResource.rc.inl
testGameMode.cpp
test.generated.cpp
C:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Intermediate\Build\Win64\UE4Editor\Inc\test\test.generated.cpp: error C4599: '/IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE': command line argument number 228 does not match precompiled headerC:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Source\test\testGameMode.cpp: error C4599: '/IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE': command line argument number 228 does not match precompiled header
testCharacter.cpp
C:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Source\test\testCharacter.cpp: error C4599: '/IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE': command line argument number 228 does not match precompiled header
test.cpp
C:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Source\test\test.cpp: error C4599: '/IC:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE': command line argument number 228 does not match precompiled header
-------- End Detailed Actions Stats -----------------------------------------------------------
ERROR: UBT ERROR: Failed to produce item: C:\Users\abdel\Desktop\gamemaking\Unreal\BuildingEscape\test\Binaries\Win64\UE4Editor-test.dll
Total build time: 26.15 seconds
I have visual studio downloaded and when I try to open it in Visual Studio, I get a build error.
please help :)
Please take a look at
https://docs.unrealengine.com/latest/INT/Programming/Development/VisualStudioSetup/
and check that you are using the correct Visual Studio version.
Also, is there a reason that you are using Unreal Engine 4.10 instead of the newest version, even though you are just starting with UE and, I assume, you don't have any previous projects?

Visual Studio 2013 crashes for non-static data member initialization

i wanna compile Trinitycore with visual studio 2013(x86 & x64 both tested) on windows 10
i get this error and i test every solutions such as:
1.change /Zm on Additional Options from /Zm500 to /Zm2000(Maximum)
2.disable precompiled headers
3.disable Optimization
4.re-install Visual Studio
5.re-install windows 10
visual studio error description:
Error 1 error C1001: An internal error has occurred in the compiler. \TrinityCore-3.3.5\src\server\game\Server\WorldSocket.cpp 256 1 game
Error 2 error C1060: compiler is out of heap space c\src\server\game\c1xx game
Error 3 error D8040: error creating or communicating with child process c\src\server\game\cl game
event log:
Faulting application name: CL.exe, version: 18.0.21005.1, time stamp: 0x524faabf
Faulting module name: c1xx.dll, version: 18.0.21005.1, time stamp: 0x524faa90
Exception code: 0xc0000005
Fault offset: 0x0025236e
Faulting process id: 0x1948
Faulting application start time: 0x01d19f24d391755f
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe
Faulting module path: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\c1xx.dll
Report Id: d98e09ae-0b18-11e6-b361-1008b14a12cc
Faulting package full name:
Faulting package-relative application ID:
vs output errors:
TrinityCore-3.3.5\src\server\game\Server\WorldSocket.cpp(256): fatal error C1001: An internal error has occurred in the compiler.
1> (compiler file 'f:\dd\vctools\compiler\cxxfe\sl\p1\c\convert.cpp', line 9608)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1> Opcodes.cpp
1>c1xx : fatal error C1060: compiler is out of heap space
1> An internal error has occurred in the compiler.
1> (compiler file 'msc1.cpp', line 1325)
1> To work around this problem, try simplifying or changing the program near the locations listed above.
1> Please choose the Technical Support command on the Visual C++
1> Help menu, or open the Technical Support help file for more information
1>cl : Command line error D8040: error creating or communicating with child process
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
event log attached file:
Version=1
EventType=APPCRASH
EventTime=131060826745545591
ReportType=2
Consent=1
UploadTime=131060826747020586
ReportIdentifier=e3cb3d99-0b13-11e6-b361-1008b14a12cc
IntegratorReportIdentifier=e3cb3d98-0b13-11e6-b361-1008b14a12cc
WOW64=1
Response.BucketId=d11da6a9b6e3e8a8c8d50161959694bb
Response.BucketTable=1
Response.LegacyBucketId=-389226431
Response.type=4
Sig[0].Name=Application Name
Sig[0].Value=CL.exe
Sig[1].Name=Application Version
Sig[1].Value=18.0.21005.1
Sig[2].Name=Application Timestamp
Sig[2].Value=524faabf
Sig[3].Name=Fault Module Name
Sig[3].Value=c1xx.dll
Sig[4].Name=Fault Module Version
Sig[4].Value=18.0.21005.1
Sig[5].Name=Fault Module Timestamp
Sig[5].Value=524faa90
Sig[6].Name=Exception Code
Sig[6].Value=c0000005
Sig[7].Name=Exception Offset
Sig[7].Value=0025236e
DynamicSig[1].Name=OS Version
DynamicSig[1].Value=10.0.10586.2.0.0.256.48
DynamicSig[2].Name=Locale ID
DynamicSig[2].Value=1033
UI[2]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe
UI[3]=Microsoft (R) C//C++ Optimizing Compiler has stopped working
UI[4]=Windows can check online for a solution to the problem.
UI[5]=Check online for a solution and close the program
UI[6]=Check online for a solution later and close the program
UI[7]=Close the program
LoadedModule[0]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\CL.exe
LoadedModule[1]=C:\Windows\SYSTEM32\ntdll.dll
LoadedModule[2]=C:\Windows\SYSTEM32\KERNEL32.DLL
LoadedModule[3]=C:\Windows\SYSTEM32\KERNELBASE.dll
LoadedModule[4]=C:\Program Files (x86)\MSBuild\12.0\bin\FileTracker.dll
LoadedModule[5]=C:\Windows\SYSTEM32\ADVAPI32.dll
LoadedModule[6]=C:\Windows\SYSTEM32\msvcrt.dll
LoadedModule[7]=C:\Windows\SYSTEM32\sechost.dll
LoadedModule[8]=C:\Windows\SYSTEM32\RPCRT4.dll
LoadedModule[9]=C:\Windows\SYSTEM32\SspiCli.dll
LoadedModule[10]=C:\Windows\SYSTEM32\CRYPTBASE.dll
LoadedModule[11]=C:\Windows\SYSTEM32\bcryptPrimitives.dll
LoadedModule[12]=C:\Windows\SYSTEM32\ole32.dll
LoadedModule[13]=C:\Windows\SYSTEM32\combase.dll
LoadedModule[14]=C:\Windows\SYSTEM32\GDI32.dll
LoadedModule[15]=C:\Windows\SYSTEM32\USER32.dll
LoadedModule[16]=C:\Windows\SYSTEM32\MSVCR120.dll
LoadedModule[17]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\mspdb120.dll
LoadedModule[18]=C:\Windows\SYSTEM32\VERSION.dll
LoadedModule[19]=C:\Windows\SYSTEM32\IMM32.DLL
LoadedModule[20]=C:\Windows\SYSTEM32\CRYPTSP.dll
LoadedModule[21]=C:\Windows\system32\rsaenh.dll
LoadedModule[22]=C:\Windows\SYSTEM32\bcrypt.dll
LoadedModule[23]=C:\Windows\SYSTEM32\MSVCP120.dll
LoadedModule[24]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\mspdbcore.dll
LoadedModule[25]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\c2.dll
LoadedModule[26]=C:\Windows\SYSTEM32\SHLWAPI.dll
LoadedModule[27]=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\c1xx.dll
LoadedModule[28]=C:\Windows\system32\apphelp.dll
State[0].Key=Transport.DoneStage1
State[0].Value=1
FriendlyEventName=Stopped working
ConsentKey=APPCRASH
AppName=Microsoft (R) C//C++ Optimizing Compiler
AppPath=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\cl.exe
ApplicationIdentity=00000000000000000000000000000000
i really confused because i am compile this project many times with this steps and with this visual studio.
Edit 1:
i create new Win32Project and i put this code on that:
#include "stdafx.h"
# define LENGTH 20
typedef unsigned char uint8_t;
typedef uint8_t uint8;
struct test
{
uint8 intT[LENGTH] = {};
};
and when i compile that i got this error again:
Error 1 error C1001: An internal error has occurred in the compiler. \Projects\Win32Project1\Win32Project1\Win32Project1.cpp 13 1 Win32Project1
An "internal compiler error" (or ICE) is, by definition, a compiler bug. There could well be code in your program that's triggering that bug. Your crash seems to be triggered by the use of a non-static data member initialisation (NSDMI), and Microsoft admits that their support for NSDMIs in Visual Studio 2013 was unreliable at best:
Unfortunately, the code in our compiler (some of it written 30 years ago) for handling initialization suffers from many longstanding architectural limitations. This code was sufficient for C++03-style initialization, but NSDMI, a C++11 feature, caused it to exhibit these limitations as severe bugs.
Given this, you may also wish to try simply upgrading your toolchain.
However, it could also be that your installation is completely broken/corrupted.
Either way, your first task is to reinstall Visual Studio and see whether the problem persists. Perhaps try compiling the project on a different computer.
If that doesn't fix it, you need to produce a minimal testcase and submit it to the developers for review (at MS Connect). Please be sure to come back here and link us to the posted issue so that I can update the answer with any pertinent information from the developers (e.g. version the bug is fixed in).
OK Finally Problem Solved, Only Need Update Visual Studio 2013 to Visual Studio 2013 Update 5.
On Update 5 For Visual Studio 2013 this bug is fixed completely.
Thank you "Lightness Races in Orbit" And "Niall" for answer and helps :)
i am so happy
This is a ICE (an internal compiler error). It is cause by the code around line 256 of the WorldSocket.cpp file.
In that file; the class AuthSession, here uses non-static default member initialisation (NSDMI) with an array (on line 256) that is shown in the error message.
IIRC, VS2013 does not fully support the NSDMI feature. It was added to C++11 but VS2013 had limitations in its implementation of NSDMI.
The uint8 Digest[SHA_DIGEST_LENGTH] = {}; could just be too much for it to compile.

Libs ,DLLs and .h files

Im a C# guy thats why I'm lost here, this project claims to have compiled that library for Windows https://soildgeo.codeplex.com/releases/view/108738
the folder comes with Include,Lib64 and Bin64 folders. If I'm not mistaken, I only need to copy .lib files to the VC/lib folder and the folders in include to VC/include folder, so that I can start coding against these APIs, they appear in the #include<> intellisense but then they don't compile. my questions are, are my assumptions on this whole process is right ? if not what are the right steps ? and lastly, do I need to use the Dlls found in Bin64 folder at any point ?
Im using VS2013
Thanks in advance
Edit
1>------ Build started: Project: PhysBAMTest, Configuration: Debug x64 ------
1> main.cpp
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163): error C2146: syntax error : missing ';' before identifier 'attribute'
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163): error C2530: 'PhysBAM::LOG::anonymous-namespace'::cout' : references must be initialized
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163): error C2065: 'unused' : undeclared identifier
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163): error C2143: syntax error : missing ';' before '='
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C2146: syntax error : missing ';' before identifier '__attribute__'
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C2530: 'PhysBAM::LOG::anonymous-namespace'::cerr' : references must be initialized
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C2065: 'unused' : undeclared identifier
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C2374: 'PhysBAM::LOG::anonymous-namespace'::__attribute__' : redefinition; multiple initialization
1> C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(163) : see declaration of 'PhysBAM::LOG::anonymous-namespace'::attribute'
1>C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\PhysBAM_Tools\Log\LOG.h(164): error C2143: syntax error : missing ';' before '='
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Edit
after adding the WIN32 macro based on an answer below , I got a linker error this time
Error 1 error LNK2019: unresolved external symbol "class std::basic_ostream > & __cdecl PhysBAM::LOG::cout_Helper(void)" (?cout_Helper#LOG#PhysBAM##YAAEAV?$basic_ostream#DU?$char_traits#D#std###std##XZ) referenced in function "void __cdecl PhysBAM::LOG::anonymous namespace'::dynamic initializer for 'cout''(void)" (??__Ecout#?A0x5bbeb782#LOG#PhysBAM##YAXXZ) C:\Users...\Documents\Visual Studio 2013\Projects\PhysBAMTest\PhysBAMTest\main.obj PhysBAMTest
All those attribute, unused, __attribute__ are what some call GNU-ishms, that is, features specific to the GCC compatible compilers (GCC itself, Clang, ICC and others). But MS VC does not aim for GCC compatibility, so they just don't work.
The people that did the port to Windows managed to remove these construct by using a few precompiler tricks, I think in the file Utilities/PHYSBAM_OVERRIDE.h. But for those to work you have to define the macro WIN32. Do that in the project "C/C++ Preprocessor Settings" page, not in the code, so it will be defined for all the source files at once.
Alternatively, and this IMO would be the correct solution, patch the sources, and replace every occurrence of #ifdef WIN32 or #if defined(WIN32) with #ifdef _WIN32. The macro _WIN32 is always predefined in Win32 and Win64, but the WIN32 is not.
Well, technically you'd have to differentiate each occurence if the issue is about being a Windows system or about being a MSVC compiler (there is a GCC compiler for Windows). And then use _WIN32 for the system dependencies and _MSC_VER for the compiler ones.
And then, if you feel like it, send a patch to the Codeplex project.
UPDATE
About the linker error, that should be easy to fix: just add the necessary "*.lib" file or files to the project. You can add them to the Linker Property Pageof the project.
Additionally what you did with .lib and .h, you need to keep .dll in either in, System32 dir, or in same dir where you have exe.
Answers to this question may help you understand better.

VS2011 code analysis

I recently installed the VS2011 beta to get a feel for the new C++11 features Microsoft had implemented in the latest release of their compiler.
I've had an unexpected problem when going back to use VS2010 though. I've opened a Windows SDK 7.1 sample project in VS2010.
Now when I build in VS2010, I get the following output, denoting that a code analysis tool is being executed (seemingly after compilation, but before linking)
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 ==========
I've attempted to determine what change to the project has caused code analysis tool to be executed, but I can't find anything in the project properties. I've tried reloading the project in VS2011, but there's no option for code analysis that I can turn off (as suggested on MSDN).
The project is completely native C++, I've never used C++ with CLR
Further, I've tried opening other projects (my own) and now they're also invoking this code analysis stage. This prevents building due to problems with Microsoft code in many cases! Builds seem to succeed in VS2011 beta.
Can anyone offer insight into how to turn this code analysis tool off? I would hope to leave VS2011 beta installed, so please refrain from suggesting uninstalling it, unless it's the only option!
I think only VS2010 Ultimate supports code analysis. I don't have VS2012 but I think you should edit the vcxproj file manually.
Look for one or both of these params if they exist inside your project file:
<RunCodeAnalysis>true</RunCodeAnalysis> and <EnablePREfast>true</EnablePREfast>
Change both values to false and it should work.
Please note that these names are used by VS2010 and I am unsure if they changed it in VS2012.