包含sysinfoapi.h或fileapi.h引发“No Target Architecture”错误?
问题解决:MSYS/MinGW编译正常但Visual Studio包含sysinfoapi.h/fileapi.h报错
针对你的情况,可尝试以下解决方案:
检查项目SDK与工具集匹配
右键项目 → 属性 → 配置属性 → 常规,确认「Windows SDK版本」选择已安装的10.1.22000.194或10.1.17763.132,同时「平台工具集」选择对应Visual Studio版本的工具集(比如VS2022对应v143)。调整头文件包含顺序
sysinfoapi.h和fileapi.h依赖windows.h定义的基础类型与宏,需先包含windows.h再引入这两个头文件,示例代码:#include <windows.h> #include <sysinfoapi.h> #include <fileapi.h>确认预定义宏设置
右键项目 → 属性 → 配置属性 → C/C++ → 预处理器,检查是否包含_WIN32宏;若使用Unicode字符集,需确保同时定义UNICODE和_UNICODE。清理重建项目
执行「生成」→「清理解决方案」,再重新生成项目,清除旧编译缓存的冲突。验证SDK安装完整性
打开Visual Studio Installer,选中当前使用的VS版本点击「修改」,进入「单个组件」页面,确认目标Windows SDK已完整勾选安装,若有缺失补充安装即可。
内容的提问来源于stack exchange,提问作者Tyler Shellberg
相关产品推荐
相关产品推荐

