【发布时间】:2013-06-27 07:19:14
【问题描述】:
我正在尝试使用 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
这有点奇怪,因为according to Microsoft 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 的新手,但通常具有计算机和编程知识)
【问题讨论】:
-
你使用的是什么编译器版本?
-
我使用的 MinGW 版本附带 GCC 4.7.2。我已将此信息添加到原始帖子中。
-
有人从 int 吞下了 t。
-
已修复。我无法从 msys shell 复制,或者至少我不知道如何复制。