我无法使用 MinGW 4.8.1 编译 clang(3.3)。当 70% 构建完成时,总是会弹出以下错误:

clang/lib/Basic/FileManager.cpp包括sys/stat.h,它定义#define stat _stat64i32(实际上在两者之间还有一些其他定义,但你明白了;)clang/include/clang/Basic/FileManager.h不包括sys/stat.h;相反,只有一个前向声明。struct stat)struct stat为struct stat64i32. 因此不匹配。最好的解决方案是将标头中的前向声明更改为 include sys/stat.h。(我实际上并没有测试它是否会编译)
当前主干不再包含代码。
更新:关于off64_t. _mingw_off_t.h这在这些天被定义为:
#ifndef _OFF64_T_DEFINED
#define _OFF64_T_DEFINED
__MINGW_EXTENSION typedef long long _off64_t;
#if !defined(NO_OLDNAMES) || defined(_POSIX)
__MINGW_EXTENSION typedef long long off64_t;
#endif
#endif /*_OFF64_T_DEFINED */
所以你可能想_POSIX在包含io.h(或stdio.h)之前定义