tags:

views:

47

answers:

3

I have been using the gcc compiler with code::blocks ide, and have noticed there are some things missing in the commctrl.h which are:

PBS_MARQUEE and PBM_SETMARQUEE to set a progress bar to marquee animation style.

LVS_EX_DOUBLEBUFFER for a double buffer on a list view...

there are probably a lot more missing, but these are the ones i've noticed, and i need them!

i have downloaded the latest mingw libraries and they are still not in, the only place i can find them is in visual studios headers, but i don't want to use that

is there any way i can get them in gcc?

A: 

The best way would be to contact either mingw.org or mingw-w64, which is a fork also supporting x64 targets. The latter are known to respond quickly and friendly to "missing features" requests. you can contact them on either the mailing list or forums or IRC (see link).

.... Scratch that. It seems my copy of the mingw-w64 commctrl.h header include these macros. I don't know if they work as expected, but give it a try. Downloads are linked on the page I linked to above. I would recommend personal builds by Sezero for completeness and ease of use. You should be able to replace your mingw folder with the one from the archive (make sure the gcc.exe et al match up).

rubenvb
What do a few COM macros have to do with 64 bit support?
Billy ONeal
cool, i'll download it, i downloaded one before which was updated in 2010! and it still didn't have it
@Billy: none, but mingw-w64 has lots more little dark corners covered than the original. the x64 support is only the main difference
rubenvb
+2  A: 

GCC does not do a good job of supporting Windows. This is a prime example of why. It's an excellent compiler. and on Unix boxes there's nothing else I'd ever use, because it's an excellent compiler, but...

MinGW simply does not include a few of the Windows headers, and for those that they do, they aren't always as up to date as the ones in the Windows SDK.

Finally, in order to support some bits of COM, GCC would need to be able to parse IDL, which Windows specific and is not currently supported.

Visual C++ Express (as well as it's compiler included in the Windows SDK) is free. What is your aversion to it?

Billy ONeal
A: 

Do you have the correct _WIN32_WINNT macro defined? It looks like they all need _WIN32_WINNT >= 0x0501.

GameZelda
IIRC, _WIN32_WINNT is specific to the Windows SDK/Visual Studio's headers.
Billy ONeal
yeah i have all the important ones up to 0x0701, and i have checked the commctrl.h with the find function, defently not in mine