一、 问题遇到的现象和发生背景
最近在做一个用qt写的项目的最终调试,然后就发现使用qt的MinGw编译器代码能够正常运行,但是在使用MSVC2017编译的时候就会报错无法运行,但是项目又必须使用该编译器,所以想请较一下社区的朋友们。
二、 问题相关代码,请勿粘贴截图
首先,整个项目代码应该是没有问题的,因为使用MinGw能跑起来而且用MSVC2017时在编译前也没有自动的错误报警。
三、 运行结果及报错内容
C:\Program Files (x86)\Windows Kits\10\Include\10.0.22000.0\um\winnt.h:169: error: C1189: #error: "No Target Architecture",这一段是报错的代码。
双击问题,可以得到这一段内容:
#if defined(AMD64) || defined(X86) || defined(ARM64EC)
#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
四、我的解答思路和尝试过的方法
在网上查了一下基本都是vs里会出现这种问题然后报错,vs中的更改头文件顺序在qt里面似乎并不适用,在vs中有添加宏常量的解法,但在qt里面我没有找到在哪儿可以加,然后也有说在注册表删掉cmd管理员权限就可以了的我试了一下也没用,后来又多添加了几种环境变量,但也没有起到效果。
个人感觉是环境配置的问题,但是不知道如何解决,想请教各位。
五、 我想要达到的结果
项目在MVSC2017编译器中也可以正常编译运行
解决这个问题了没有?老铁
这句话说明你电脑上没有msvs2017这个环境,也就是你没有安装msvc2017,你安装一个vs2017就能运行了、