[1/4] programs/oleview: Fix compilation with PSDK.
dmitry at baikal.ru
Tue Oct 27 05:52:01 CDT 2015
Francois Gouget <fgouget at free.fr> wrote:
> > > > That this is needed to compile with the PSDK but not with Wine probably
> > > > indicates a bug in the Wine headers. What was the compilation error?
> > >
> > > ..\include\wine/debug.h(334) : error C2039: 'brecVal' : is not a member of 'tagVARIANT'
> I found the problem. In debug.h we have V_UNION(v,brecVal).pvRecord and
> V_UNION(v,brecVal).pRecInfo. This does not work if tagVARIANT is using
> nameless unions such as with the Visual C++ compiler.
> The reason it works in Wine is that __STDC__ is always defined so that
> Wine code never uses nameless unions for tagVARIANT. So I'm sending a
> fix for that (adding V_RECORD() and V_RECORDINFO()).
> With that fix, are the following defines still needed? If yes, what is
> the compiler command line and error?
> > --- a/dlls/oleaut32/tests/typelib.c
> > +++ b/dlls/oleaut32/tests/typelib.c
> > @@ -19,6 +19,9 @@
> > * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
> > */
> > +#define NONAMELESSSTRUCT
> > +#define NONAMELESSUNION
I haven't seen your patch yet, but after adding V_RECORD() and V_RECORDINFO()
from PSDK to Wine's include/oleauto.h the error while compiling oleview has gone,
and the above defines in the dlls/oleaut32/tests/typelib.c are no longer needed.
More information about the wine-devel