You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MinGW编译报错:'QueryFullProcessImageNameA'未在此作用域声明如何解决?

该编译错误的原因是QueryFullProcessImageNameA为Windows Vista及以上版本才提供的API,MinGW默认的头文件配置不会暴露Vista及以上版本新增的API接口。

解决方案

  1. 优先使用版本声明方案:在所有Windows相关头文件引入的最靠前位置,添加目标Windows版本声明宏
// 0x0600 对应 Windows Vista 版本,满足Windows 10运行要求
#define _WIN32_WINNT 0x0600
#define WINVER 0x0600
#include <windows.h>
#include <psapi.h>
  1. 确认编译参数配置:编译指令末尾需要添加链接参数-lpsapi,否则会出现链接阶段未定义引用错误。
  2. 旧版MinGW兼容方案:如果添加宏定义后依然报错,说明你使用的MinGW版本过旧缺少该API的声明,可以手动在代码中补充该API的声明,放在函数调用位置之前即可:
extern "C" BOOL WINAPI QueryFullProcessImageNameA(HANDLE hProcess, DWORD dwFlags, LPSTR lpExeName, PDWORD lpdwSize);

内容的提问来源于stack exchange,提问作者H4ZE

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 15:09:00