我正在尝试使用 MinGW 构建第 3 方开源项目。依赖项之一是 wxWidgets。当我尝试从 MSYS 制作项目时,我得到一个编译器错误
/MinGW/msys/1.0/local/include/wx-2.8/wx/msw/private.h
In function 'COLORREF wxColourToRGB(const wxColour&)':
error: cannot convert 'RGB' to 'COLORREF {aka long unsigned int}' in return
这有点奇怪,因为根据微软的说法,RGB
宏返回一个COLORREF
.
事实上,在 H:\MinGW\include 中查找,我找到了带有以下代码的wingdi.h
#define RGB(r,g,b) ((COLORREF)((BYTE)(r)|((BYTE)(g) << 8)|((BYTE)(b) << 16)))
什么样的事情会导致这个错误?有什么方法可以检查 COLORREF 和 RGB 是否包含在wingdi.h 而不是其他地方?这还值得检查吗?
规格
- GCC 版本 4.7.2
- wxWidgets 版本 2.8.12
(我是 C++ 和 MinGW 的新手,但通常是计算机和编程知识)