lua causing compiler limit : internal structure overflow?

Started by
7 comments, last by nekoflux 20 years ago
I noticed that when I add a bunch of module definitions to my Engine, I start to get these messages: c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\boost\type_traits\is_class.hpp(121): fatal error C1204: compiler limit : internal structure overflow what is causing this? Is there some way I can prevent this from happening? I anticipate I will need to add many more module definitions to the system... thanks all neko
nekoflux
Advertisement
try to do a clean build if that doesn''t work then in your project sesttings under C/C++ | Command line, add /Zm 200 (if that still doesn''t work just increase that number).
I tried that.Its not out of heap space. Its complaining about a boost file, which is used by lua. Is it possible that I have too many modules defined? (I am currently defining about 15)

Is there a way to fix thi? I still need to declare many more modules. Hope I havent hit some theoretical limit.
nekoflux
What is a "module"?

We have 544 project libraries and > 15000 files in our workspace. Visual Studio chugs a bit, but it keeps going.

The error you''re getting is about some specific use of some feature, where they have a compiler bug. Try re-formulating that code a bit to not tickle the bug.
enum Bool { True, False, FileNotFound };
quote:Original post by nekoflux
I noticed that when I add a bunch of module definitions to my Engine, I start to get these messages:

c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\boost\type_traits\is_class.hpp(121): fatal error C1204: compiler limit : internal structure overflow


what is causing this? Is there some way I can prevent this from happening? I anticipate I will need to add many more module definitions to the system...



From luabind faq:

quote:
Internal structure overflow in VC
If you, in visual studio, get fatal error C1204: compiler limit : internal structure overflow. You should try to split that compilation unit up in smaller ones.


HTH
hplus:

sorry, I was a bit vague in my previous posts. By "Module", i mean the boost definition that registers a c++ class with lua.

eg:
module(luaVM)	  [		  class_<CLogManager>("CLogManager")		  .def(constructor<>())		  .def("log", &CLogManager::addApplicationEntry)	  ];    



I think having too many of these in a single file is causing the problem...

-N
nekoflux
thanks LED



now for the gargantuan mess of trying to restructure the code
such that its split up into 2 files. ugh.
nekoflux
Ok, so Im in the process of moving the module definitions for each class into the class itself. But it doesnt seem to work, in that I get linking errors. Do any of you folks have a simple example that shows how to declare modules across a few classes, using a shared Lua_state object? I''m trying to figure out the best way to restrucure the code such that i can spread out the modules across compilation units but it doesnt seem to be working; any advice would be helpfull

damnit, and everything was working so well before this mess too..


thank god for cvs

nekoflux
I restructured everything to declare the module defuinition within each class. It seems to solve the problem, and makes the system more scalable in terms of adding more module defs later.

Thanks for your help guys

-N
nekoflux

This topic is closed to new replies.

Advertisement