编译时出现以下错误:
c:\ program files(x86)\ windows kits \ 8.0 \ include \ um \ winnt.h(146):致命错误C1189:#error:“No Target Architecture”
无论如何我不在我的项目中使用Windows Kit(或者我没有看到它包括在内)。我试图用32,64位改变我项目中的架构目标,并继承。没什么。有什么想法吗?
编辑:所有包含的列表。第一行来自我的项目。
1> Remarque : inclusion du fichier : d:\visual studio 2012\netsdk_poc\mfc_netsdk2\mfc_netsdk2\stdafx.h
1> Remarque : inclusion du fichier : d:\visual studio 2012\netsdk_poc\mfc_netsdk2\mfc_netsdk2\Libs\\netsdk.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\stddef.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\sal.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ConcurrencySal.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\vadefs.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\windef.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\winapifamily.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\minwindef.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings_strict.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\specstrings_undef.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\driverspecs.h
1> Remarque : inclusion du fichier : c:\program files (x86)\windows kits\8.0\include\shared\sdv_driverspecs.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\um\winnt.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\ctype.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\crtdefs.h
1> Remarque : inclusion du fichier : C:\Program Files (x86)\Windows Kits\8.0\Include\shared\kernelspecs.h
答案 0 :(得分:4)
错误行说
#if defined(_AMD64_) || defined(_X86_)
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif defined(_IA64_) || defined(_ARM_)
#define PROBE_ALIGNMENT( _s ) (TYPE_ALIGNMENT( _s ) > TYPE_ALIGNMENT( DWORD ) ? \
TYPE_ALIGNMENT( _s ) : TYPE_ALIGNMENT( DWORD ))
#elif !defined(RC_INVOKED)
#error "No Target Architecture"
#endif
你有#included标题,可能通过包含另一个标题间接。
您可以通过在Properties | C/C++ | Advanced
项目菜单中将“显示包含”设置为“是”来告诉VS2012列出它使用的所有包含。如果您不需要,请尝试不要在winnt.h
中拖动标题。
winnt.h
会导致麻烦,例如见here
修改强>
因此,预编译头包括windef.h,其中包括违规头。尝试从预编译的标题中删除该行。