The browser version you are using is not recommended for this site.
Please consider upgrading to the latest version of your browser by clicking one of the following links.
- Safari
- Chrome
- Edge
- Firefox
Article ID: 000086946
Content Type: Troubleshooting
Last Reviewed: 10/06/2016
cc1plus.exe: out of memory allocating 65536 bytes
Environment
Bug ID: FB: 405528;
Version Found: 13.0
Version Fixed: 17.0
This error may be seen when compiling large software projects on Windows platforms. cc1plus.exe is a 32bit Windows application and has access to 2GB of memory on Windows.
To work around this problem, Windows can be configured to allow 32bit applications access to a 3GB address space.
1. Enable 3GB address space for 32bit applications on Windows:
From Windows command prompt run: bcdedit /set IncreaseUserVa 3072
2. Allow cc1plus.exe to use the larger address space
From Windows command prompt run: editbin /LARGEADDRESSAWARE «<path>/cc1plus.exe“
This problem is scheduled to be fixed in a future release of the SoC EDS Software.
- Description
- Resolution
Need more help?
Give Feedback
Disclaimer
When I try to debug my Qt application I get the following error:
- out of memory allocating 65536 bytes cc1plus.exe
I have an .exe File in the qrc resource which is larger than 10 MB.
I tried QMAKE_CXXFLAGS += -O0 in my .pro file, but I get still the memory error.
- Qt 4.8.4 static compiled
- Windows 7 x64
- 16 GB RAM
- qt
- compiler-errors
asked Apr 24, 2013 at 7:57
Ser YogaSer Yoga
4661 gold badge6 silver badges18 bronze badges
10
-
Can you please clarify a bit what do you mean by ‘external Qt Program larger then 10Mb in QRC file’?
Apr 24, 2013 at 8:03
-
the executable file which i include in my qrc is bigger than 10 mb. i think it wont change anything when im use two qrc files for my projekt . but i need the executable in my qt application because its a static compiled standalone software without any dlls.
Apr 24, 2013 at 8:14
-
@SerYoga So you do not need the executable in the
.qrc
at all, you can simply call it from outside your application.Apr 24, 2013 at 8:18
-
yes but if the exe dont exists outside i need a way to generate the executable in the tmp directory and start it.
Apr 24, 2013 at 8:20
Load 7 more related questions
Show fewer related questions
If I rebuild with the same workflow the errors sometimes disappear and the build completes, although it can take multiple attempts.
g++ -c -fno-keep-inline-dllexport -frounding-math -fprofile-arcs -ftest-coverage -O2 -std=gnu++1y -Wall -Wextra -Wextra -fexceptions -mthreads -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DUSE_CGAL -DUSE_QGLWIDGET -DUSE_INTEGTEST -DRAPCAD_VERSION=1.0.git.56d6e69 -DQT_NO_DEBUG -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CONCURRENT_LIB -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR='"D:/a/RapCAD/RapCAD"' -I. -Isrc -IC:/CGAL-5.2/include -IC:/CGAL-5.2/auxiliary/gmp/include -IC:/boost_1_72_0 -I../Qt/5.15.2/mingw81_64/include -I../Qt/5.15.2/mingw81_64/include/QtOpenGL -I../Qt/5.15.2/mingw81_64/include/QtWidgets -I../Qt/5.15.2/mingw81_64/include/QtGui -I../Qt/5.15.2/mingw81_64/include/QtANGLE -I../Qt/5.15.2/mingw81_64/include/QtConcurrent -I../Qt/5.15.2/mingw81_64/include/QtTest -I../Qt/5.15.2/mingw81_64/include/QtCore -Irelease -I. -I/include -I../Qt/5.15.2/mingw81_64/mkspecs/win32-g++ -o release/preferencesdialog.o src/ui/preferencesdialog.cpp
cc1plus.exe: out of memory allocating 65536 bytes
cc1plus.exe: out of memory allocating 65536 bytes
mingw32-make: *** [Makefile.Release:267070: release/beziersurfacemodule.o] Error 1
mingw32-make: *** Waiting for unfinished jobs....
mingw32-make: *** [Makefile.Release:269955: release/preferencesdialog.o] Error 1
Error: Process completed with exit code 1.
Compile a project.
Стоп. Дпавайте разберёмся. Я компилю и компилю неудачно. При компиляции, как я понимаю, создаются секции (неудачно же) с названиями, которые я им определил.
В стек же ничего не пихается при компиляции. Это при исполнении- да.
(Хотя что из себя представляет компиляция, мне трудно сказать. Возможно что и там для gcc создаётся стек, в который всё это дело пихается, не знаю. А тогда: не всё ли равно, как назвать секцию? Имеется ввиду именно для этапа компиляции, а не для этапа исполнения. Понятно что при исполнении разные секции есть разные секции с разными атрибутами прочее)
Добавлено через 4 минуты
Сообщение от easybudda
вынесите всё это счастье в отдельный файл (mnogo_cifr.dat)
Ещё раз: всё это дело нельзя выносить в отельный файл.
Только в строку, которая объявлена в экзешнике, а затем транспонировать вместе с экзешником. Только так а не иначе.
Ну, вот щас это дело скомпилилось:
C++ | ||
|
Файлы по метру.
Потом буду увеличивать виртуальную память ещё.
Добавлено через 54 секунды
Сообщение от easybudda
чувство такое, что заранее на провал обречено…
fail это файл
Добавлено через 1 минуту
..ИМеется ввиду файлы-бинарники по метру, а *cpp метров по 5 каждый
Добавлено через 5 минут
Ну я понял, что ВЫ имели ввиду, предлагая использовать указатель. Нет, так тоже нельзя. Дело в том, что да, я эту прогу без труда перенесу на другую машину и запущу там и даже предположим, что ось выделит место нужного размера. Но тогда в это место мне придётся пихать… пихать файл *dat, то еесть это файл транспонировать вместе с экзешником. Нет, так не пойдёт.
Добавлено через 13 часов 31 минуту
Короче, щас компилится с тремя подключаемыми файлами *сpp размером соответственно: 0,5 метров. 9 метров и 12 метров. Достиг за счёт увеличения виртуальной памяти до 20 гигов.
В процессе компиляции смотрю на занимаемую утилитами (gcc и иже с ней виртуальную память) в проге Марка Руссиновича «Process Exlorer» (очень рекомендую, кстати), она переваливает временами за 1 гиг
…Если учесть, что на компе одновременно много процессов работает, тогда понятно почему вируальной памяти, установленнной по умолчанию+ оперативной (2 гига), не хватает.
Ваша конфиденциальность
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.