On Fri, 22 Mar 2019 at 02:13, Raffi Enficiaud via Boost < boost@lists.boost.org> wrote:
On 19.03.19 16:08, Rainer Deyke via Boost wrote:
On 19.03.19 12:40, degski via Boost wrote:
On Tue, 19 Mar 2019 at 11:44, Rainer Deyke via Boost
wrote: Boost.Test is broken when cross-compiling for Windows on Linux using a case-sensitive file system because it #includes
instead of The correct header should be/is 'Windows.h', it's capitalized, MinGW has a similar problem, IIRC.
It's not capitalized in the 30 instances of '#include
' in Boost header files, including 3 from Boost.Test, and it's not capitalized on my file system. It's also not capitalized on the Wikipedia page, it's not /consistently/ capitalized by Microsoft themselves, and even Microsoft are switching to lower case where portability matters: see https://github.com/Microsoft/WinObjC/commit/9e55e2a7cb67fe9a4b3fffb491f7eb62... .
I just took the way it appears in the documentation:
https://docs.microsoft.com/en-us/windows/desktop/api/synchapi/nf-synchapi-cr...
I don't know why you refer to that page, but when you get to the business-end of that page, the "what to do bit", you find: *Minimum supported client* Windows XP [desktop apps | UWP apps] *Minimum supported server* Windows Server 2003 [desktop apps | UWP apps] *Target Platform* Windows *Header* synchapi.h (include Windows.h) *Library* Kernel32.lib *DLL* Kernel32.dll Where you can see that Windows.h is clearly capitalized (while other headers, clearly (and correctly) are not). Windows file system does not care whether it is capitalized or not, and
MinGW should not be sensitive to that.
It does actually, ntfs is case-sensitive. For backward compatibility (I presume), explorer, cmd.exe etc, add a case-insensitive layer on top of the native file-system. Clang-cl warns about mis-matches in casing. degski -- *"Big boys don't cry" - **Eric Stewart, Graham Gouldman*