为何MinGW的include文件夹中不存在powerbase.h头文件
为什么MinGW默认不包含powerbase.h头文件
MinGW作为开源的Windows平台GNU工具链,其自带的Win32 API头文件均为社区自主重写的兼容实现,并未直接集成微软官方Windows Kits的全量头文件。powerbase.h属于微软官方提供的细分电源管理专用头,截至目前MinGW社区还未完成该头文件及对应API的适配工作,因此无论8.1.0还是11.2.0版本的MinGW默认发布包,都不会自带该文件。
可采用的解决方案
你要实现Windows系统唤醒事件监听的需求,可以通过两种方式解决:
- 手动引入微软Windows Kits的头与库路径
编译时给gcc添加参数:-I"C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um",指定头文件搜索路径;链接时添加参数:-L"C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\um\x64" -lpowerbase,指定依赖的powerbase库路径即可正常调用相关接口。 - 用MinGW已支持的替代API实现需求
若仅需监听系统唤醒事件,无需用到powerbase.h的特殊能力,可以使用MinGW默认头文件已支持的RegisterPowerSettingNotificationAPI实现同等功能,该接口声明在winuser.h中,链接时添加-luser32参数即可直接调用,无需额外引入第三方路径。
内容的提问来源于stack exchange,提问作者Mary
相关产品推荐
相关产品推荐

