在 windows 上为 windows 目标臂编译 gcc:"cc1.exe: out of memory allocating 2278450599 bytes"

Compiling gcc itself, on windows for windows targetting arm: "cc1.exe: out of memory allocating 2278450599 bytes"

我在关注 http://www.mingw.org/wiki/hostedcrosscompilerhowto 并发行

make all-gcc | tee make-c-only.log 2>&1

产量

gcc -c   -O2 -pipe -DIN_GCC -DCROSS_COMPILE  -W -Wall -Wwrite-strings
-Wstrict-p rototypes -Wmissing-prototypes -pedantic -Wno-long-long    -DHAVE_CONFIG_H    -I . -I. -I../../../../gcc-core-3.4.2-20040916-1-src/gcc-3.4.2-20040916-1/gcc -I../ ../../../gcc-core-3.4.2-20040916-1-src/gcc-3.4.2-20040916-1/gcc/.
-I../../../../ gcc-core-3.4.2-20040916-1-src/gcc-3.4.2-20040916-1/gcc/../include 
insn-modes.c
-o insn-modes.o

**cc1.exe: out of memory allocating 2278450599 bytes** make[1]: ***
[insn-modes.o] Error 1 make[1]: Leaving directory
`/e/Lorin/gcc/aufWindows7MingwOrgHowto/build/arm-elf/ gcc/gcc' make:
*** [all-gcc] Error 2

我有 2GB 的可用内存。

编辑:将尝试在最后一个 MSYS-20111123.zip.

中使用 64 位 mingw-w64 5.2.0

由于我使用的是 32 位 发行版的 mingw,编译器无法为其自身分配超过 2GB 的 RAM,无论这是否是错误。

此错误的解决方案是为 windows 使用较新版本的 gcc。来自“mingw-w64”项目的那个。

注意:不要让自己感到困惑,mingw-w64 项目也有 32 位版本可用即使该项目是调用mingw-w64