[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