nietod
asked on
Problem MS Visual C++ Pragma 4786
I'm using Microsoft Visual C++
My program uses several standard library templates which produces symbols (classes, types, etc) with very long names.
The compiler prints out warnings (not errors) about these names. There is no harm in these warnings but it makes it impossible to find other warnings.
I tried dissabling the warning using:
#pragma warning(disable : 4786)
but it seems to have no effect. I have possitioned the pragma everywhere, in header files, in source code, before the STL includes and still have not gotten rid of the warning.
Am I doing something wrong or is this a bug in MSC?
My program uses several standard library templates which produces symbols (classes, types, etc) with very long names.
The compiler prints out warnings (not errors) about these names. There is no harm in these warnings but it makes it impossible to find other warnings.
I tried dissabling the warning using:
#pragma warning(disable : 4786)
but it seems to have no effect. I have possitioned the pragma everywhere, in header files, in source code, before the STL includes and still have not gotten rid of the warning.
Am I doing something wrong or is this a bug in MSC?
In general, there is a known bug when mixing warning pragmas with templates. However, 4786 is one that actually works for me. What version of the compiler are you using?
ASKER
Good (bad) to know there are bugs in this area and that this MIGHT be one.
I'm using version 5.0 on Windows 95. The message indicates that the symbols are too long for the debugger and were truncated.
Is it possible that you don't get the problem because you don't create debug versions? Or is that you are lucky and I'm not?
I should have mentioned that I don't get the warnings every time. I think this might have to do with incremental compilation. i.e. it doesn't print warnings unless it has to recompile a section of code.
I'm using version 5.0 on Windows 95. The message indicates that the symbols are too long for the debugger and were truncated.
Is it possible that you don't get the problem because you don't create debug versions? Or is that you are lucky and I'm not?
I should have mentioned that I don't get the warnings every time. I think this might have to do with incremental compilation. i.e. it doesn't print warnings unless it has to recompile a section of code.
I have this problem too - sometimes. I was told that installing service pach 2 may help.
ASKER
Yonat, your comment raises an important question! Does service patch 2 fix the problem, or at least did it for you? If so, how do I get it?
I don't know. I'm still waiting for that CD.
I must be lucky, because I do create debug versions
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
I'll have to download and install before I can tell if it fixes the problem so it will be a couple of days until I can grade your answer.
If it works it seems to me that at least some points should go to yonat, but I don't think that can be arranged.
If it works it seems to me that at least some points should go to yonat, but I don't think that can be arranged.
It's OK, I'v already got my share :-)
I agree on the points for yonat, but that's not possible to divide quality points among several experts...you could post another question just for yonat to answer.
Complex issue for E-E though!
Davide Marcato.
Complex issue for E-E though!
Davide Marcato.
ASKER
I'm still waiting for the service pack to arrive. haven't forgotten about the question though.
nietod,
if the delay is so exaggerate, why don't you download it from Microsoft's Web site?
Davide Marcato.
if the delay is so exaggerate, why don't you download it from Microsoft's Web site?
Davide Marcato.
ASKER
The service pack I need would take hours to download (I tried). Even if I would want to spend the time, there is little chance of maintaining an internet connection that long. I ordered a copy, hopefully it will come soon. Hopefully it will fix the problem.