[HarfBuzz] Conflict type declaration with Win32/64 API (SHORT, USHORT, ...)

Behdad Esfahbod behdad at behdad.org
Sun Jan 15 12:16:41 PST 2012


On 01/07/2012 12:53 PM, Petr Kobalíček wrote:
> Hi Behdad,
> 
> On Thu, Jan 5, 2012 at 7:49 PM, Behdad Esfahbod <behdad at behdad.org> wrote:
>> On 01/05/2012 11:43 AM, Petr Kobalíček wrote:
>>> Another solution can be to maintain my private version of patched
>>> harfbuzz, but personally I don't like this idea.
>>
>> People have successfully compiled HarfBuzz on Windows, and I regularly do so
>> using mingw32.  The issue you are facing may be as simple as reordering a
>> couple includes to fix.
> 
> Yeah, it's include files problem, but I only wanted to show that I had
> this issue and maybe others in the future will encounter the issue
> too. This problem can be definitely fixed by choosing different names
> for these symbols. If I see LONG, SHORT, and similar symbols in the
> code I always think that the code is written for Windows and is using
> conventions designed for this platform. If there is no will from
> harfbuzz side then okay.

What I'm saying is that you should NOT see these errors.  You are only
supposed to include the public header files, and those do not include the
problem symbols.  Or are you seeing the errors compiling HarfBuzz itself?

behdad

>>> There are also many warnings related to implicit size_t -> int casts
>>> (64-bit mode), but these are simple to fix.
>>
>> Patch please.
> 
> Give me some time to fix this. The error is mainly related to
> constructs like (unsigned int)(ptr_a - ptr_b). It's not reported by
> gcc, but reported my msc.
> 
>> behdad
> 
> Thanks
> Petr
> 



More information about the HarfBuzz mailing list