473,404 Members | 2,195 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,404 software developers and data experts.

C1067: compiler limit

I'm rebuilding some apps that were last built with V5.
The main fixup is to use new iostreams instead of old .h
files. However it seems that any module that includes one
of the iostreams headers gives the error
fatal error C1067: compiler limit : debug information
module size exceeded

pointing to some line in a system header file (eg xmemory)

MSDN KB has info about this problem with very early
versions of the compiler - but I can't relate to my issue.

Can aviod error by compiling without debug info but that
makes debugging very difficult!

Any advice most apreciated.
John
Nov 16 '05 #1
3 2726
Hi johnlaus,

Thanks for you posting in the group!

The C1067 error can be caused by a symbol with a decorated name that
exceeds 247 characters.
So you can try the following workaround to handle the problematic symbol
source:

1. Use "chaining" inheritance. Break the class up into multiple classes
where
each class inherits from the previous class. The final class will contain
member variables for all of the other classes through inheritance. As long
as
you limit the number of variables in each class, you should avoid the C1067
error.

2. Use multiple inheritance. Break the class up into multiple classes.
Then
create one new class that multiply inherits from all of those classes. As
long as the member variables are unique in each class, this should not
present
too many complications.

Note: When working with such large classes, you get a tremendous performance
improvement in the build by separating each class into its own source file.

Using precompiled header files will also improve performance here.

Hope that helps!
Best regards,
Gary Chang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.

--------------------
|

Nov 16 '05 #2
Hi Gary,

Thank you for your prompt response. I'm afraid your
solution was not viable as the error was triggered by
many source files and never indicated a particular class
declaration. We have several 100K lines of legacy code.

By a process of elimination I tracked the problem to a
header that declares a set of very large structs (a
couple around 3000 fields). The structs are then nested
in another (combining around 8000 fields) - very UGLY I
know but it is the specification of a shared memory area
that interfaces to some very old FORTRAN code and would
be difficult to redesign.

I eventually tracked down a pragma that solved the
problem!

I have wrapped the struct declarations in:

#pragma component(mintypeinfo, on)
..
..
..
#pragma component(mintypeinfo, off)

Now I can compile with ZI (or Zi) and all is OK

Regards,
John

-----Original Message-----
Hi johnlaus,

Thanks for you posting in the group!

The C1067 error can be caused by a symbol with a decorated name thatexceeds 247 characters.
So you can try the following workaround to handle the problematic symbolsource:

1. Use "chaining" inheritance. Break the class up into multiple classeswhere
each class inherits from the previous class. The final class will containmember variables for all of the other classes through inheritance. As longas
you limit the number of variables in each class, you should avoid the C1067error.

2. Use multiple inheritance. Break the class up into multiple classes.Then
create one new class that multiply inherits from all of those classes. Aslong as the member variables are unique in each class, this should notpresent
too many complications.

Note: When working with such large classes, you get a tremendous performanceimprovement in the build by separating each class into its own source file.
Using precompiled header files will also improve performance here.
Hope that helps!
Best regards,
Gary Chang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------
|

.

Nov 16 '05 #3
Hi John,

Thanks for your quickly response!

I am very delightful to know you have resolved the problem, and thanks to
share your valuable resolution with the community members.
Best regards,
Gary Chang
Microsoft Online Partner Support

Get Secure! - www.microsoft.com/security
This posting is provided "AS IS" with no warranties, and confers no rights.
--------------------

Nov 16 '05 #4

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Stephen Horne | last post by:
I started making up a Python extension module to wrap a C++ library of mine using Boost Python. Trouble is, the library has a number of classes each of which has a lot of methods. I seem to have...
7
by: Matthew | last post by:
Hi, I am using sun's CC (c++ compiler) to compile the follow code: #define __REENTRANT #include <stdio.h> #include <pthread.h> void *one(void *dummy);
0
by: Hendrik Schober | last post by:
Hi, in one file had fatal error C1055: compiler limit : out of keys for this void f() {__LINE__;} at the top of the file. I didn't get the error for these: void f() {__FILE__;} void f()...
1
by: Dirk Theune | last post by:
Hi, when compiling with debug information, I get an error: fatal error C1067: compiler limit : debug information module size exceeded The error is caused by a very large enum (about 2000...
1
by: Peter Wilson | last post by:
I am running a VB.Net conversion project and have run into a severe problem compiling the application. The project has a main project with about one hundreds forms. (Did I say badly structured?) ...
9
by: eastcoastguyz | last post by:
I wrote a simple program to continue to create a very large file (on purpose), and even though there is plenty of disk space on that device the program aborted with the error message "File Size...
81
by: Peter Olcott | last post by:
It looks like System::Collections::Generic.List throws and OUT_OF_MEMORY exception whenever memory allocated exceeds 256 MB. I have 1024 MB on my system so I am not even out of physical RAM, much...
8
by: Nehil | last post by:
When a process is started three segments are created : 1) Text. 2) Stack. 3) Data. The size of First two is fixed and their upperlimit is fixed by the compiler. (Plz correct if i'm wrong) Now...
2
by: D. Susman | last post by:
Hi, I know that this issue is indeed strictly operating system dependent but I am just curious: I have a five dimensional array, whose size sums to 68 MB (almost). This array is contained by...
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.