Building dlls/oleaut32/tests/olepicture.c under Cygwin?
Dan Kegel
dank at kegel.com
Mon Mar 3 10:09:44 CST 2008
I tried building dlls/oleaut32/tests/olepicture.c
on Windows using cygwin, but ran into a couple small problems.
The main problem is:
/cygdrive/c/DOCUME~1/Liz/LOCALS~1/Temp/ccXL7SF3.o:olepicture.c:(.text+0x18e5):
undefined reference to `_IPictureDisp_Invoke'
That sounds fishy - is that test using a wine-specific shortcut?
If so, what's the kosher windows way to do what it's doing?
Here's the procedure I followed:
1. Download and run the installer from http://cygwin.com
Use it to install gcc and git
2. Open a cygwin window
3. Grab a copy of the Wine sources using git as normal
4. cd wine/dlls/oleaut32/tests
5. to avoid conflicts between the win32 headers from wine and from cygwin,
just use the cygwin ones. But we do have to copy one header from wine:
mkdir -p include/wine
cp ../../../include/wine/test.h include/wine
6. Try compiling and linking with
$ gcc -DSTANDALONE -Iinclude olepicture.c -mwindows -loleaut32 -lole32 -luuid
This fails with all sorts of errors about LOGFONTA.
That's because the include lines in olepicture.c are in the wrong order!
Edit olepicture.c and change the lines
#include <winuser.h>
#include <wingdi.h>
to read
#include <wingdi.h>
#include <winuser.h>
7. Try compiling again. Now you fail with a handful of errors like
/cygdrive/c/DOCUME~1/Liz/LOCALS~1/Temp/ccXL7SF3.o:olepicture.c:(.text+0x18e5): u
ndefined reference to `_IPictureDisp_Invoke'
Seems like a portability problem in tests/olepicture.c.
More information about the wine-devel
mailing list