 <p>The error lines say</p> <pre><code>#if defined(_AMD64_) || defined(_X86_) #define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD ) #elif defined(_IA64_) || defined(_ARM_) #define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) &gt; TYPE_ALIGNMENT( DWORD ) ? \ TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD )) #elif !defined(RC_INVOKED) #error "No Target Architecture" #endif </code></pre> <p>You have #included that header, possibly indirectly by including another header. You can tell VS2012 to list all the includes it uses by setting "Show Includes" to yes in the <code>Properties | C/C++ | Advanced</code> project menu. Then try not including the header that is dragging in <code>winnt.h</code> if you don't need it.</p> <p><code>winnt.h</code> can cause trouble e.g. see <a href="http://stackoverflow.com/questions/257134/weird-compile-error-dealing-with-winnt-h">here</a></p> <p><strong>edit</strong> <br/> So, the precompile header includes windef.h which includes the offending header. Try removing the line from the precompiled header.</p>