Steven Edwards wrote:

First thing is first. Whats up with the *_must_be_suffixed_with_W_or_A_in_this_context error?


If you are compiling a core Wine DLL, you are not allowed to use the base name (IDC_ARROW). You must pick either the Ansi (IDC_ARROWA) or Wide (IDC_ARROWW) versions. To achieve this, wine uses a macro called "WINELIB_NAME_AW". It is defined in windef.h. You can see that if UNICODE is defined, this macro adds the "W" at the end, if not defined, it adds an "A" at the end, but if it is part of the wine compilation, it defines a name that is bound to cause an error, by appending "func_must_be_suffixed_with_W_or_A_in_this_context".

In other words, if you need the Ansi version, use IDC_ARROWA. If you need the Unicode version, use IDC_ARROWW, but you cannot use IDC_ARROW from inside a Wine DLL.

To build comctl32 with the Mingw/PSDK headers we need to do something about this.
Almost every file is expecting IDC_ARROWA and the PSDK/w32api dont define a A/W 
suffix. I think
once we fix this comctl32 should build out of the box with the PSDK or w32api.

Just use IDC_ARROWA directly. If you get this error, it implies that you are using the Wine headers already. As IDC_ARROW is defined in include/winuser.h on line 2560, and IDC_ARROWA is defined two lines above it, I find it hard to accept that IDC_ARROW is defined as it is, while IDC_ARROWA is undefined.

Thanks
Steven


Shachar

--
Shachar Shemesh
Open Source integration consultant
Home page & resume - http://www.shemesh.biz/





Reply via email to