error C1189: #error : "No Target Architecture"

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了error C1189: #error : "No Target Architecture"相关的知识,希望对你有一定的参考价值。

错误信息

 VS2013编译程序错误:
17>C:\Program Files (x86)\Windows Kits\8.1\Include\um\winnt.h(145): fatal error C1189: #error : "No Target Architecture"

技术分享图片

错误原因

出现该错误是因为包含了windows自带头文件:#include "fileapi.h"
双击错误信息行,页面跳转到windows头文件winnt.h中,具体信息如下:
技术分享图片

可以看到,出现错误信息:“No Target Architecture”是因为未定义某个宏,如AMD64X86、_IA64_或ARM

解决方法

我选择在项目中添加_AMD64_宏(其他三个也可以)解决该问题。
具体方法:项目名称右键-->属性-->C/C++-->预处理器-->添加宏,如下所示:
技术分享图片

以上是关于error C1189: #error : "No Target Architecture"的主要内容,如果未能解决你的问题,请参考以下文章

致命错误 C1189:#error:core.hpp 标头必须编译为 C++

在VC2015下编译DOOM3时发现出错fatal error C1189: #error

fatal error C1189: #error: STL1003: Unexpected compiler, expected C++ compiler

fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC sha

fatal error C1189: #error: "Oops: min() and/or max() are defined as preprocessor macros. Defi

fatal error C1189: #error : missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS