[ITA] w32api-3.0b_svn5368-1

JonY jon_y@users.sourceforge.net
Mon Aug 27 10:56:00 GMT 2012


On 8/24/2012 00:51, Jon TURNEY wrote:
> 
> 
> On 22/08/2012 10:08, JonY wrote:
>> On 8/22/2012 06:26, JonY wrote:
>>>> According to mingw.org <basetyps.h>, GUID_SECT was only necessary for
>>>> ancient GCC versions.  At a minimum, we should be able to just remove
>>>> the GUID_SECT from those defines.  Unfortunately just ifndef _W64 those
>>>> defines entirely leads to link errors:
>>>>
>>>> hw/xwin/winengine.c:107: undefined reference to `_IID_IDirectDraw4'
>>>> winshaddd.o: In function `winAllocateFBShadowDD':
>>>> hw/xwin/winshaddd.c:253: undefined reference to `_IID_IDirectDraw2'
>>>> winshadddnl.o: In function `winAllocateFBShadowDDNL':
>>>> hw/xwin/winshadddnl.c:285: undefined reference to `_IID_IDirectDraw4'
>>>> winpfbdd.o: In function `winAllocateFBPrimaryDD':
>>>> hw/xwin/winpfbdd.c:89: undefined reference to `_IID_IDirectDraw2'
> 
> It's pretty easy to adapt for this in the existing X server code either by
> simply defining GUID_SECT as empty if it is not already defined, or removing
> GUID_SECT.
> 
>>> mingw-w64 ddraw.h already has them, though they're inlined, gcc doesn't
>>> like inlined data. DEFINE_GUID may need fixing, or at least instanced in
>>> libuuid or libddraw.
>>>
>>> I'll need to talk to to the Jacek from Wine to get a solution.
>>>
>>
>> Here's a quick and dirty workaround, add and compile the following file
>> and link it with the failing executable:
>>
>> =====================
>> #define INITGUID 1
>> #include <ddraw.h>
>> =====================
> 
> It's tempting to conclude that the "brokeness" alluded to in the comment in
> the X server source is that the author didn't know about INITGUID.
> 
> It seems that GUID_SECT is defined by the current w32api headers, but only had
> any contents for ancient gcc (prior to 2.95)
> 
> However, Google seems to indicate that we are not totally alone in assuming
> the existence of GUID_SECT, so you might want to consider providing an empty
> definition for compatibility.
> 

OK, found the proper lib to link with, add -ldxguid for libdxguid.a. I
did not know of this until Jacek told me about it.



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 196 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin-apps/attachments/20120827/cc0b7e6b/attachment.sig>


More information about the Cygwin-apps mailing list