error C1189: #error : "No Target Architecture"
mob 发布于 2021-11-22

在VC++工程中引用头文件,#include<winuser.h>,报了error C1189: #error : "No Target Architecture" ,在这个头文件上面在引用头文件,#include<windows.h>,这样就不会报错了,

如果把<windows.h>的引用放在<winuser.h>下面,还是会报错,所以 头文件的引用有时候还是有先后顺序的。

进入报错的语句

#if defined(_AMD64_) || defined(_X86_)
#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif defined(_IA64_) || defined(_ARM_) || defined(_ARM64_)

//
// TODO: WOWXX - Unblock ARM. Make all alignment checks DWORD for now.
//

#define PROBE_ALIGNMENT( _s ) TYPE_ALIGNMENT( DWORD )
#elif !defined(RC_INVOKED)
#error "No Target Architecture"
#endif

 

问题出在没有_X86_的宏定义,如果先调用#include<windows.h>,因为这个头文件中有_X86_等宏定义,所以就不会报错

mob
关注 私信
文章
61
关注
0
粉丝
0