6.x: I get "Out of memory" errors when building my (large) project
Posted by Aleksandr Alekseev on 14 January 2012 00:19
When I build my project in Delphi or C++ Builder IDE - I get "Out of memory" error message.
Building your project with EurekaLog means that your project must be post-processed by EurekaLog. EurekaLog should insert options and debug information in your executable file (compiled project).
Project's compilation as well as project's post-processing is done inside IDE. Which means that compilation and post-processing will use the resources of IDE process. IDE hosts your project, source code, editor, components, packages, IDE experts, system DLLs, code completion cache, and many other things.
A 32-bit process is limited to 2 Gb of address space ("memory"). Delphi or C++ Builder IDE are 32-bit applications. So, Delphi and C++ Builder IDE are limited to 2 Gb of code and data.
Thus, if you have many components or IDE extensions installed ("code") and your project(s) is large ("data") - then IDE may have no space available to complete compilation and/or post-processing. That's why you see "Out of memory" error message.
Note: 2 Gb limit does NOT depend on your installed RAM memory or operating system bitness - it's always 2 Gb. This limit holds if you have 512 Mb of physical memory installed on 32-bit Windows XP. And this limit holds if you have 8 Gb of physical memory installed on 64-bit Windows 7.
Uninstall unused packages, components, IDE extensions.
If you opened a project group - try to close it, restart IDE, then open and build each project one-by-one.
1. Quick and simple: go to "Project"/"EurekaLog project options" IDE menu item, switch to "Build Options" tab and enable the "Use EurekaLog 7 compiler" checkbox.
To know more about possible advantages and drawbacks of this method - please see this article.
2. Alternatively, you use another method:
Checked EL version: 6.x.