2013-10-10 42 views
2

编译时,我有以下错误:C1189:#错误: “没有目标架构”

C:\ Program Files文件(x86)的\ WINDOWS包\ 8.0 \包括\恩\ WINNT.H(146 ):致命错误C1189:#error:“无目标体系结构”

无论如何,我没有在我的项目中使用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

你在哪里改变项目的架构? – doctorlove

+0

我有一个MFC应用程序,所以我不能再包括windows.h;) 致命错误C1189:#error:WINDOWS.H已包括在内。 MFC应用程序不能#include user2764048

+0

DoctorLove:项目属性 - >链接器 - >计算机目标(我正在翻译,法语中是“Ordinateur cible”) – user2764048

回答

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 

您已通过包括另一头是包含(#include)头,可能是间接的。 您可以通过在Properties | C/C++ | Advanced项目菜单中将“Show Includes”设置为yes来指示VS2012列出其使用的所有包含。如果您不需要,请尝试不包括拖拽winnt.h的标题。

winnt.h可能会导致例如见here

编辑
所以,预编译报头包括WINDEF.H包括违规报头。尝试从预编译头文件中删除该行。

+0

我要去看这个医生DoctorLove。我绝对想列出所有的包括! – user2764048

+0

好吧,以确保你的意思是我必须检查winnt在我的项目中是否包含两次或更多次? – user2764048

+0

完全没有 - 你说你没有使用winnt,所以我想帮你找出你可以将它删除的东西 – doctorlove