
On Wed, Oct 26, 2011 at 7:57 PM, Lars Viklund <zao@acc.umu.se> wrote:
On Wed, Oct 26, 2011 at 07:26:27PM +0200, Olaf van der Spek wrote:
In another project: 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iterator(530): error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm110' or greater 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\iterator(530): fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit 1>
Is this from building Boost itself? If so, which library?
If it's in your code that uses Boost, it's perfectly natural. When you build precompiled header files, there's a nice solid chunk of memory allocated for the compiler to stow away intermediary state in, which it then serializes to the PCH file, for loading into future compiler processes that use the precompiled header to bootstrap themselves.
It's my own project. It's the first time ever I see this warning and it didn't happen with 1.47.
The problem is that this memory needs to be allocated up-front. All this message means is exactly what it says - the default amount is not sufficient and you need to change it in the build settings for the source file that builds your PCH, adding /Zm123 to the advanced compiler settings field there, or globally for your project.
The reason you get this now and not before is because you've not used enough Boost libraries, and that the ones you do use have had their compile-time memory usage increased somewhat.
Hmm, right. Maybe it's time for MS to increase the default. :p -- Olaf