Я создаю приложение третьей стороны через CMake, и я передаю в -DCMAKE_BUILD_TYPE = MinSizeRel для CMake, чтобы попытаться обойти эту проблему, но это не работает.ld: фатальная ошибка: не удалось выделить память
У меня всегда возникает ошибка, когда дело доходит до ссылки.
/usr/lib/gcc/armv7a-hardfloat-linux-gnueabi/4.9.3/../../../../armv7a-hardfloat-linux-gnueabi/bin/ld: fatal error: clientserver: mmap: failed to allocate 791230396 bytes for output file: Cannot allocate memory
Здание ПК имеет 1 ГБ оперативной памяти и 6 ГБ SWAP. Попытка освободить большую часть физического барана оказывается сложной, так ли есть способ заставить компоновщика использовать SWAP или ограничить то, что он использует?
Я переключился на ld.gold, а просто посмотрел, есть ли у него какие-либо выгоды, но все равно не повезло. К сожалению, добавление большего количества оперативной памяти не является вариантом.
Это не имеет никакого отношения к ОЗУ. У компоновщика заканчивается адресное пространство. Решить проблему можно на базе 64-разрядной машины с 64-разрядным компоновщиком. –