C++导入问题——使用BITMAPINFOHEADER最好导入Windows.h

阐述

一般在处理bmp图像时,需要使用BITMAPINFOHEADER用于定义信息头,用来后续接收bmp信息头信息。建议直接导入<Windows.h>而不是<wingdi.h>。

这时如果按照提示导入#include <wingdi.h>库文件,会发生很多报错,如下图

这些错误都来自于导入的 <wingdi.h>库文件。

解决方式

将导入库改为<Windows.h>

原因

可能是由于在导入 <wingdi.h> 之前未正确导入其他必要的头文件所致。

<wingdi.h> 是包含在 <Windows.h> 中的一个头文件。

<Windows.h> 是 Windows 平台通用的头文件,其中包含了许多 Windows API 的函数和常量的定义。同时,<Windows.h> 也包含了许多其他特定功能的头文件,例如 <wingdi.h><winuser.h><winbase.h> 等。这些特定功能的头文件中定义了与相应功能相关的结构体、函数和常量。

因此,当你导入 <Windows.h> 时,<wingdi.h> 中的结构体和函数也会被包含进来,这样你就可以使用其中定义的 BITMAPINFOHEADER 结构体了。不需要单独导入 <wingdi.h>。也不会报那些奇怪的错误。

猜你喜欢

转载自blog.csdn.net/weixin_55696427/article/details/134683551