C1189: #error : "No Target Architecture"

C1189: #error : "No Target Architecture"

本文关键字:Architecture Target No C1189 #error      更新时间:2023-10-16

编译时出现以下错误:

C:\Program Files (x86(\Windows 工具包\8.0\include\um\winnt.h(146(:致命错误 C1189:#error:"无目标体系结构">

无论如何,我没有在我的项目中使用 Windows Kit(或者我没有看到它包含在内(。我尝试用 32、64 位和继承来更改项目中的架构目标。什么都没有。知道吗?

编辑:所有包含的列表。前两行来自我的项目。

1>  Remarque : inclusion du fichier :  d:visual studio 2012netsdk_pocmfc_netsdk2mfc_netsdk2stdafx.h
1>  Remarque : inclusion du fichier :   d:visual studio 2012netsdk_pocmfc_netsdk2mfc_netsdk2Libs\netsdk.h
1>  Remarque : inclusion du fichier :    C:Program Files (x86)Microsoft Visual Studio 11.0VCincludestddef.h
1>  Remarque : inclusion du fichier :     C:Program Files (x86)Microsoft Visual Studio 11.0VCincludecrtdefs.h
1>  Remarque : inclusion du fichier :      C:Program Files (x86)Microsoft Visual Studio 11.0VCincludesal.h
1>  Remarque : inclusion du fichier :       C:Program Files (x86)Microsoft Visual Studio 11.0VCincludeConcurrencySal.h
1>  Remarque : inclusion du fichier :      C:Program Files (x86)Microsoft Visual Studio 11.0VCincludevadefs.h
1>  Remarque : inclusion du fichier :    C:Program Files (x86)Windows Kits8.0Includesharedwindef.h
1>  Remarque : inclusion du fichier :     C:Program Files (x86)Windows Kits8.0Includesharedwinapifamily.h
1>  Remarque : inclusion du fichier :     C:Program Files (x86)Windows Kits8.0Includesharedminwindef.h
1>  Remarque : inclusion du fichier :      C:Program Files (x86)Windows Kits8.0Includesharedspecstrings.h
1>  Remarque : inclusion du fichier :       C:Program Files (x86)Windows Kits8.0Includesharedspecstrings_strict.h
1>  Remarque : inclusion du fichier :        C:Program Files (x86)Windows Kits8.0Includesharedspecstrings_undef.h
1>  Remarque : inclusion du fichier :       C:Program Files (x86)Windows Kits8.0Includeshareddriverspecs.h
1>  Remarque : inclusion du fichier :        c:program files (x86)windows kits8.0includesharedsdv_driverspecs.h
1>  Remarque : inclusion du fichier :      C:Program Files (x86)Windows Kits8.0Includeumwinnt.h
1>  Remarque : inclusion du fichier :       C:Program Files (x86)Microsoft Visual Studio 11.0VCincludectype.h
1>  Remarque : inclusion du fichier :        C:Program Files (x86)Microsoft Visual Studio 11.0VCincludecrtdefs.h
1>  Remarque : inclusion du fichier :       C:Program Files (x86)Windows Kits8.0Includesharedkernelspecs.h

错误行显示

#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可能会造成麻烦,例如 见这里

编辑
因此,预编译标头包括 windef.h,其中包括有问题的标头。尝试从预编译标头中删除该行。