Subject: Re: cross-cygwin32; alignement problems
To: Arto Huusko <>
From: Martin Husemann <>
List: tech-pkg
Date: 10/03/2001 17:27:50
> The w32api defines the PRINTDLG structure in commdlg.h file. The
> "sizeof" of this structure ends up wrong, preventing me from using it.
> In the structure, there are 5 WORD fields followed by 32 bit fields
> and apparently the compiler inserts two bytes of padding after the
> WORDs.

I don't know which version of that file you are using, but mine includes
"pushpack1.h", which then uses #pragma pack to set alignement to 1 byte.
(Conditionalized on _MSC_VER >= 800)

To be usefull, the cross compiler needs to honour #pragma pack(push),
#pragma pack(<number>) and #pragma pack(pop).

Alternatively you may be able to modify your copy of that file and make it
use gcc attributes to do the same (#ifdef __GCC__). I have no clue if that
is easy/doable.