(Cross)Compile failure for ole32/tests/marshal.c

Paul Vriens paul.vriens.wine at gmail.com
Thu Jan 4 14:14:24 CST 2007


Hi,

when running the 'make crosstest' in ole32/tests, I get:

[paul at penguin tests]$ make crosstest
i386-mingw32-gcc clipboard.cross.o compobj.cross.o hglobalstream.cross.o
marshal.cross.o moniker.cross.o ole2.cross.o propvariant.cross.o
stg_prop.cross.o storage32.cross.o usrmarshal.cross.o  testlist.cross.o
-o ole32_crosstest.exe -loleaut32 -lole32 -luser32 -lgdi32 -ladvapi32
-lkernel32 -luuid
marshal.cross.o:marshal.c:(.text+0x7a97): undefined reference to
`_IID_IChannelHook'
collect2: ld returned 1 exit status
make: *** [ole32_crosstest.exe] Error 1

When looking at our objidl.h, I see:

DEFINE_GUID(IID_IChannelHook, 0x1008c4a0, 0x7613, 0x11cf, 0x9a,0xf1,
0x00,0x20,0xaf,0x6e,0x72,0xf4);

whereas the objidl.h in the SDK shows:

EXTERN_C const IID IID_IChannelHook;

and the 'real' definition seems to be placed in comdef.h

If I add the definition to marshal.c the cross-compile succeeds, but
that's obviously not the solution.

Can somebody more knowledgeable have a look?

Cheers,

Paul.




More information about the wine-devel mailing list