Erik de Castro Lopo skrev: > Ove Kaaven wrote: > >> Erik de Castro Lopo skrev: >>> Anybody understand why? >> You could look up the definition of RTL_CRITICAL_SECTION_DEBUG in >> include/winnt.h. Then realize that __WINESRC__ is only defined for stuff >> in dlls/, not for stuff in programs/, which should make the type >> mismatch clear. > > The error message says nothing about a type mismatch its complaining > about something not being compulatble a load time.
Yes, I said "type mismatch" to clarify the error. It's not possible to fit a 64-bit pointer value into a static 32-bit DWORD at "load time" (probably means relocation time). The types aren't compatible. > That makes me suspect that the non __WINESRC__ definition > is wrong and that the whole #ifdef above could be replaced > with > > DWORD_PTR Spare[8/sizeof(DWORD_PTR)]; > > Is that right? No, in the case of Winelib apps, every Wine definition should match the Windows definition exactly. And here, DWORD_PTR would be 64-bit and DWORD would be 32-bit, so it's not exactly a perfect match. But I'm not proposing any particular solution, I just said what's wrong.