gnu gcc编译器头文件中缺少一些东西? (commctrl.h)

时间:2010-08-08 15:54:14

标签: c++ winapi mingw

我一直在使用带有code :: blocks ide的gcc编译器,并注意到commctrl.h中缺少一些东西:

PBS_MARQUEE和PBM_SETMARQUEE将进度条设置为选框动画样式。

列表视图中双缓冲区的LVS_EX_DOUBLEBUFFER ...

可能还有很多缺失,但这些是我注意到的,我需要它们!

我已经下载了最新的mingw库但它们仍然不在,我能找到它们的唯一地方是可视工作室标题,但我不想使用它

有什么方法可以让他们使用gcc吗?

3 个答案:

答案 0 :(得分:3)

GCC在支持Windows方面做得不好。这是原因的一个主要例子。这是一个优秀的编译器。在Unix的盒子上我没有别的用过,因为它是一个优秀的编译器,但是......

MinGW根本不包含一些Windows标头,对于他们所做的那些,它们并不总是与Windows SDK中的最新版本一样。

最后,为了支持某些COM,GCC需要能够解析IDL,通常不在非Windows系统上使用GCC目前不支持。

Visual C ++ Express(以及Windows SDK中包含的编译器)是免费的。你厌恶它是什么?

答案 1 :(得分:1)

最好的方法是联系mingw.org或mingw-w64,这是一个支持x64目标的分支。众所周知,后者对“缺失特征”请求的响应迅速而且友好。您可以通过邮件列表或论坛或IRC与他们联系(参见链接)。

....抓一点。看来我的mingw-w64 commctrl.h头文件的副本包含了这些宏。我不知道他们是否按预期工作,但试一试。下载链接在我上面链接的页面上。我推荐Sezero的个人版本,以确保完整性和易用性。您应该能够使用存档中的那个替换mingw文件夹(确保gcc.exe等匹配)。

答案 2 :(得分:0)

您是否定义了正确的_WIN32_WINNT宏?看起来他们都需要_WIN32_WINNT> = 0x0501。