库中的 MinGW-w64 编译错误



从MinGW更改为MinGW-w64后,我收到以下错误:

In file included from C:/MinGW/i686-w64-mingw32/include/stddef.h:7:0,
                 from C:/MinGW/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1,
                 from C:MinGWinclude/stdint.h:24,
                 from C:MinGWinclude/inttypes.h:7,
                 from C:MinGWinclude/GL/glew.h:299,
                 from ..main.cpp:1:
C:/MinGW/i686-w64-mingw32/include/crtdefs.h:26:9: error: 'size_t' does not name a type
 typedef size_t rsize_t;
         ^
In file included from C:/MinGW/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1:0,
                 from C:MinGWinclude/stdint.h:24,
                 from C:MinGWinclude/inttypes.h:7,
                 from C:MinGWinclude/GL/glew.h:299,
                 from ..main.cpp:1:
C:/MinGW/i686-w64-mingw32/include/stddef.h:20:3: error: 'errno_t' does not name a type
   errno_t __cdecl _set_errno(int _Value);
   ^
C:/MinGW/i686-w64-mingw32/include/stddef.h:21:3: error: 'errno_t' does not name a type
   errno_t __cdecl _get_errno(int *_Value);
   ^
C:/MinGW/i686-w64-mingw32/include/stddef.h:26:18: error: 'uintptr_t' does not name a type
   _CRTIMP extern uintptr_t __cdecl __threadhandle(void);
                  ^

谁能向我解释一下这里发生了什么?

我昨天在使用 Code::Blocks 设置 MinGW-w64 时遇到了这个问题,并通过以下方式解决了它......

请注意以下生成消息:

from C:/MinGW/i686-w64-mingw32/include/stddef.h:7:0,
                 from C:/MinGW/lib/gcc/i686-w64-mingw32/4.9.2/include/stddef.h:1,
                 from C:MinGWinclude/stdint.h:24,
                 from C:MinGWinclude/inttypes.h:7
编译器的搜索目录指向 MinGW 的包含文件夹

(我假设默认的 32 位编译器目录)和新安装的 MinGW-w64 编译器的包含文件夹。

现在,如果您的情况与我的情况相似,那么您已经完成了以下操作:(1) 将 MinGW 中的包含文件夹添加到全局编译器设置中"编译器"选项卡下 MinGW(GNU gcc 编译器)的搜索目录中(2) 在设置 MinGW-w64 编译器时复制了 GNU GCC 编译器的设置

因此,在这种情况下

,您需要做的是简单地从新编译器的搜索目录中删除旧编译器的包含文件夹的路径。

如果成功,请告诉我。

最新更新