On Thu, 26 Oct 2006, Mike McCormack wrote:
Francois Gouget wrote:
Including each header manually surely is not normal practice on Windows, but the nice thing is that it lets us detect bugs in our header dependencies. If we just include windows.h we will completely miss those and thus reduces the value of the test.
These tests don't compile in MSVC 6 without this fix.
Precisely. And this is very useful information!
The right fix is to: * fix the Wine headers so these tests fail to compile with Wine exactly the same way they fail to compile with the Windows headers. This is the only way to make sure this problem won't come back later. * then add the missing include directives or fix their order so the tests compile both with the Windows headers and the Wine ones.
I have started to look at why some of these tests were not compiling on Windows and this is how I stumbled on the COM_NO_WINDOWS_H issue which has side-tracked me a bit. I know of issues in, at least, advpub.h and objbase.h. I hope to get back to them soon, but there's certainly room for someone else to fix them in the meantime.
Also note that it's important to use the very latest SDK headers when compiling the Wine tests. A number of them won't compile with the stock VC6 headers.