博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
fatal error C1189: #error : "No Target Architecture" 解决办法一
阅读量:5917 次
发布时间:2019-06-19

本文共 740 字,大约阅读时间需要 2 分钟。

在编译程序的时候发现报这个错误,在网上看到很多文章,说设置include路径,lib目录等等,都没有解决。最后调整了以下include文件的顺序,问题解决了。例如
从头文件a.h中截取的一段
typedef struct
{
    DWORD Data1;
    WORD Data2;
    WORD Data3;
    BYTE Data4[ 8 ];
} GUID;
 
然后在b.cpp文件里面引用
#include <a.h>
#include <Windows.h>
这样编译会报错
程序报错:error C2146: 语法错误 : 缺少“;”
其原因是在a.h文件中 DWORD未定义,在a.h文件中引用minwindef.h再编译就会报错 fatal error C1189: #error : "No Target Architecture"
#include <minwindef.h>
typedef struct
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[ 8 ];
} GUID;
再引用windows.h
#include <windows.h>
#include <minwindef.h>
typedef struct
{
DWORD Data1;
WORD Data2;
WORD Data3;
BYTE Data4[ 8 ];
} GUID;
然后就可以正常编译了,其实不用这么复杂,直接在b.cpp文件中调整下引用文件的顺序就可以了,如下
#include <Windows.h>
#include <a.h>

转载于:https://www.cnblogs.com/vcerror/p/4289022.html

你可能感兴趣的文章
java反射机制
查看>>
CentOS下nginx一键安装shell脚本
查看>>
[Node.js]node中的require到底是怎样工作的
查看>>
Cyber Physics System
查看>>
I Don't Know
查看>>
Spring(Lifecycle)
查看>>
dubbo-admin部署在windows下tomcat报错的问题
查看>>
当Redis内存用尽时会做何处理?
查看>>
Struts2基于注解的登陆与验证示例
查看>>
weak和assign的区别
查看>>
hibernater查询传递参数时候报错: Remember that ordinal parame
查看>>
php dirname basename pathinfo的用法
查看>>
H3C交换机VLAN间互访设置
查看>>
获取adapter中的孩子view
查看>>
android中string.xml中%一$s、%1$d等的用法
查看>>
将“Google 翻译”添加到您的网站
查看>>
(绿色免安装)IDEA 2017的插件mybatis plugin
查看>>
Spring Boot 集成log4j2
查看>>
浅谈信息加密技术和算法
查看>>
python 读取文件的前几行
查看>>