d3c4106d6f6d587ec4b9013692dc1cf6da29c279 still doesn't fix the initial problem (see log below).

There is still another problem in�shlobj.h caused by the inclusion on�shobjidl.h from an extern C block:

http://source.winehq.org/git/wine.git/?a=blob;f=include/shlobj.h;h=cda13060195f1c4104ee226f4132155a354d46de;hb=HEAD#l39

Should I send a patch to move the three includes before extern C?

How to reproduce the problem:

$ cat test.cpp�
#include <shlobj.h>

$ wineg++ test.cpp�
In file included from /usr/local/include/wine/windows/propsys.h:164,
�� � � � � � � � from /usr/local/include/wine/windows/shobjidl.h:368,
�� � � � � � � � from /usr/local/include/wine/windows/shlobj.h:39,
�� � � � � � � � from test.cpp:1:
/usr/local/include/wine/windows/propkeydef.h: In function �bool operator==(const PROPERTYKEY&, const PROPERTYKEY&)�:
/usr/local/include/wine/windows/propkeydef.h:61: error: declaration of C function �bool operator==(const PROPERTYKEY&, const PROPERTYKEY&)� conflicts with
/usr/local/include/wine/windows/guiddef.h:110: error: previous declaration �bool operator==(const GUID&, const GUID&)� here
/usr/local/include/wine/windows/propkeydef.h: In function �bool operator!=(const PROPERTYKEY&, const PROPERTYKEY&)�:
/usr/local/include/wine/windows/propkeydef.h:65: error: declaration of C function �bool operator!=(const PROPERTYKEY&, const PROPERTYKEY&)� conflicts with
/usr/local/include/wine/windows/guiddef.h:114: error: previous declaration �bool operator!=(const GUID&, const GUID&)� here
winegcc: g++ failed