Jakob Eriksson jakob@vmlinux.org writes:
This patch makes "make crosstest" work again. I made it work by correcting incorrect linking options for some tests and by removing the tests altogether in some cases.
You should get a more recent mingw that has an ntdll import library, it will probably work much better then (yes there is still an issue with libuuid, but removing tests is clearly not the right fix).
Alexandre Julliard wrote:
Jakob Eriksson jakob@vmlinux.org writes:
This patch makes "make crosstest" work again. I made it work by correcting incorrect linking options for some tests and by removing the tests altogether in some cases.
You should get a more recent mingw that has an ntdll import library, it will probably work much better then (yes there is still an issue with libuuid, but removing tests is clearly not the right fix).
Ok, thanks, I will upgrade my mingw! (I hoped I would not have too. :-)
What is the issue with libuuid?
regards, Jakob
On Thu, 28 Aug 2003, Jakob Eriksson wrote: [...]
What is the issue with libuuid?
I guess I have a relatively recent MinGW (3.2.1) so the following must be what Alexandre refers to:
I get the following error:
~/wine/dlls/dsound/tests> i586-mingw32msvc-gcc dsound.cross.o propset.cross.o testlist.cross.o -o dsound_crosstest.exe -ldsound -luser32 -lkernel32 -lm dsound.cross.o(.text+0x15cd): In function `test_buffer': /home/fgouget/wine/wine/dlls/dsound/tests/dsound.c:380: undefined reference to `IID_IDirectSound3DBuffer' dsound.cross.o(.text+0x1612):/home/fgouget/wine/wine/dlls/dsound/tests/dsound.c:386: undefined reference to `IID_IDirectSoundBuffer' dsound.cross.o(.text+0x16d0):/home/fgouget/wine/wine/dlls/dsound/tests/dsound.c:393: undefined reference to `IID_IDirectSoundBuffer' dsound.cross.o(.text+0x23d5): In function `test_secondary': /home/fgouget/wine/wine/dlls/dsound/tests/dsound.c:523: undefined reference to `IID_IDirectSound3DListener' [... 41 lines in all ...]
I can almost solve the problem if I add '-luuid -ldxguid' to the command. Then I only have:
~/wine/dlls/dsound/tests> i586-mingw32msvc-gcc dsound.cross.o propset.cross.o testlist.cross.o -o dsound_crosstest.exe -ldsound -luser32 -lkernel32 -lm -luuid -ldxguid propset.cross.o(.text+0xb77): In function `propset_private_tests': /home/fgouget/wine/wine/dlls/dsound/tests/propset.c:98: undefined reference to `CLSID_DirectSound8' propset.cross.o(.text+0xc81):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:118: undefined reference to `CLSID_DirectSoundCapture8' propset.cross.o(.text+0xd06):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:128: undefined reference to `CLSID_DirectSoundFullDuplex' propset.cross.o(.text+0xd91):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:138: undefined reference to `CLSID_DirectSoundPrivate' propset.cross.o(.text+0xe22):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:149: undefined reference to `DSPROPSETID_DirectSoundDevice' propset.cross.o(.text+0xebe):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:157: undefined reference to `DSPROPSETID_DirectSoundDevice' propset.cross.o(.text+0xf5a):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:165: undefined reference to `DSPROPSETID_DirectSoundDevice' propset.cross.o(.text+0x101e):/home/fgouget/wine/wine/dlls/dsound/tests/propset.c:181: undefined reference to `DSPROPSETID_DirectSoundDevice'
The above looks like MinGW's dxguid library is missing the DirectX >= 8 GUIDs or somthing similar.
In Wine most (all?) GUIDs are in wine_uuid which may also make things a bit harder in the Makefile when we try to fix this. The 'wine_' prefix is to avoid clashes with other Unix libraries.