[Bug 7486] New: Result of widl -u includes WINE-only header

Wine Bugs wine-bugs at winehq.org
Mon Feb 19 02:40:32 CST 2007


http://bugs.winehq.org/show_bug.cgi?id=7486

           Summary: Result of widl -u includes WINE-only header
           Product: Wine
           Version: 0.9.30.
          Platform: All
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-tools
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: kevin.kofler at chello.at


widl -u generates a *_i.c file which includes the header <guiddef.h>. That 
header doesn't exist in MinGW nor in Visual C++. It should include 
<initguid.h> instead.

Moreover, INITGUID should be defined _before_ including the first RPC header, 
you get a warning from MinGW about initialized variables declared "extern" 
otherwise, because the MinGW initguid.h contains this:
#define DEFINE_GUID(n,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) GUID_EXT const GUID n 
GUID_SECT = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}
where GUID_EXT is defined by the MinGW RPC headers, to "extern" if INITGUID is 
not defined, and to nothing if it is. (I haven't tested how Visual C++ reacts 
to this one, but I assume defining INITGUID right away is the right thing 
there too.)

To sum up, the generated *_i.c starts like this:
/*** Autogenerated by WIDL 0.9.31 from oleaut.idl - Do not edit ***/

#include <rpc.h>
#include <rpcndr.h>

#define INITGUID
#include <guiddef.h>

It should start like this instead:
/*** Autogenerated by WIDL 0.9.31 from oleaut.idl - Do not edit ***/

#define INITGUID
#include <rpc.h>
#include <rpcndr.h>

#include <initguid.h>

(This is with WINE 0.9.31 on FC6. The version isn't listed in Bugzilla yet.)

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list