using map STL in Microsoft VC++ 6

M

Medi Montaseri

Hope this is a right forum, else route me...

I'm using map STL in Microsoft Visual C++ 6.0 and am getting
warning C4786 which seems to have to do with truncating symbols
as VC++ is building a browser file (unix folks think ctags file).

Is there anyway to tell this compiler to increase your symbol entry
buffer size from 255 to 1000 (or something).

The warning message looks like this

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xtree(200): warning
C4786: '?rbegin@?$_Tree@HU?$pair@$$CBHPAVMessage@@@std@@U_Kfn....etc..etc
....etc' : identifier was truncated to '255' characters in the browser information

Since some of the enteries are being truncated, the browser file seems to be
broken and I can not set breakpoints where I want.

map is very basic, is there something I'm doing wrong, perhaps I need to
make sure my settings are correct or
should I install the compiler in c:\dev instead of 'program files\ etc etc'

Thanks
 
C

cheeser

Medi Montaseri said:
Hope this is a right forum, else route me...

I'm using map STL in Microsoft Visual C++ 6.0 and am getting
warning C4786 which seems to have to do with truncating symbols
as VC++ is building a browser file (unix folks think ctags file).

Is there anyway to tell this compiler to increase your symbol entry
buffer size from 255 to 1000 (or something).

The warning message looks like this

C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE\xtree(200): warning
C4786: '?rbegin@?$_Tree@HU?$pair@$$CBHPAVMessage@@@std@@U_Kfn....etc..etc
...etc' : identifier was truncated to '255' characters in the browser information

Since some of the enteries are being truncated, the browser file seems to be
broken and I can not set breakpoints where I want.

map is very basic, is there something I'm doing wrong, perhaps I need to
make sure my settings are correct or
should I install the compiler in c:\dev instead of 'program files\ etc etc'

Thanks

Not quite the right group, but I'll respond since I'm able to help. Include
this:

#ifdef WIN32
#pragma warning(disable: 4786)
#endif

I would suggest microsoft.public.vc.language as a more likely place to get
the answers you need for any further VC++ specific problems.

Regards,
Dave
 
U

Unforgiven

Medi said:
Hope this is a right forum, else route me...

Since some of the enteries are being truncated, the browser file
seems to be broken and I can not set breakpoints where I want.

You can use this to get rid of the warning messages:
#pragma warning(disable:4786)

Which however won't fix the debugger (just as a FYI: it doesn't have
anything to do with the browser file, the debug symbols and the browse file
are two completely different things).

I'm afraid it's an internal limit of the compiler, and you can't get around
it. Visual C++ .Net 2002 and 2003 don't have this limitation, so I'm afraid
upgrading is the only way if you want a fully functional debugger in this
situation. There's been some talk going around about some folks at MS
wanting to make a SP6 for VS6, but I don't know if it'll happen. If it does,
they might fix the issue since it's well-known and often discussed. But I
wouldn't hold your breath.

Sorry.

PS: microsoft.public.vc.* is a better place to ask this sort of thing
 
U

Unforgiven

cheeser said:
#ifdef WIN32
#pragma warning(disable: 4786)
#endif

At the danger of straying further and further of topic:

If you want to put an #ifdef around it, do:
#if defined(_MSC_VER) && _MSC_VER < 1300
#pragma warning(disable:4786)
#endif

_WIN32 is defined by many compilers on the Win32 platform, and only VC6 and
older have this issue.

(1300 is the version number of the compiler, not VC itself. VC6 has compiler
version 12.00, VC7 has 13.00, VC7.1 has 13.10)
 
M

Medi Montaseri

Unforgiven said:
You can use this to get rid of the warning messages:
#pragma warning(disable:4786)

Which however won't fix the debugger (just as a FYI: it doesn't have
anything to do with the browser file, the debug symbols and the browse file
are two completely different things).

I'm afraid it's an internal limit of the compiler, and you can't get around
it. Visual C++ .Net 2002 and 2003 don't have this limitation, so I'm afraid
upgrading is the only way if you want a fully functional debugger in this
situation. There's been some talk going around about some folks at MS
wanting to make a SP6 for VS6, but I don't know if it'll happen. If it does,
they might fix the issue since it's well-known and often discussed. But I
wouldn't hold your breath.

Sorry.

PS: microsoft.public.vc.* is a better place to ask this sort of thing


Thank you very much.... I'm impressed with this level of commodore....sorry
about the mis-post.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,995
Messages
2,570,230
Members
46,819
Latest member
masterdaster

Latest Threads

Top