I had been using the VC++ 6.0 for compiling
quantlib successfully for the code checked out before last week. But I now got this famous error for the latest code. c:\finance\quantlib\ql\null.hpp(64) : fatal error C1001: INTERNAL COMPILER ERROR (compiler file 'msc1.cpp', line 1786) Please choose the Technical Support command on the Visual C++ I tried every trick I could find on the web and reinstall the VC++ with vain. One tip suggested to remove the /Fo (with others), but I don't know how to to turn off this option in VC++. Anyone can help? __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail |
In my experience the fatal
error is caused by a coding error. I used to get it mainly with template classes
(when I used too many >>>>> )
Try compiling class by class (incremental)
instead of one big BUILD.
Installing VS again will not
help!
cheers
Daniel J. Duffy From: [hidden email] on behalf of Zhou Wu Sent: Wed 18/08/2004 18:50 To: [hidden email] Subject: [Quantlib-users] (Off topic) VC++ 6.0 with fatal error C1001: I had been using the VC++ 6.0 for
compiling |
Hi,
On 2004.08.18 19:13, Daniel J. Duffy wrote: > In my experience the fatal error is caused by a coding error. I used > to get it mainly with template classes (when I used too many >>>>> ) no, I'd rule out an error (as in "syntax error") since the current repository compiles cleanly with gcc. It might be some legal but complex construct that VC can't digest for some reason. It'll need some investigation. As an aside: it's not the safest thing to rely on the latest cvs snapshot for production work. Even I don't do that :) You might want to stick with a release, or a copy of a stable snapshot. If you're just playing instead, of course it's all right... Later, Luigi |
In reply to this post by Zhou Wu-2
Luigi,
Are there templates in this code? I know for a fact that VC++ 6.0 does not support all features. In general, some constructions confuse the compiler. I always try not to annoy the compiling with clever code (this is because I try to do it as simple and understandable as possible). Ciao, Daniel > -----Original Message----- > From: Luigi Ballabio [mailto:[hidden email]] > Sent: 19 August 2004 10:18 > To: Daniel J. Duffy > Cc: Zhou Wu; [hidden email] > Subject: Re: [Quantlib-users] (Off topic) VC++ 6.0 with fatal error > C1001: > > > > Hi, > > On 2004.08.18 19:13, Daniel J. Duffy wrote: > > In my experience the fatal error is caused by a coding error. I used > > to get it mainly with template classes (when I used too many >>>>> ) > > no, I'd rule out an error (as in "syntax error") since the current > repository compiles cleanly with gcc. It might be some legal but > complex construct that VC can't digest for some reason. It'll > need some > investigation. > > As an aside: it's not the safest thing to rely on the latest cvs > snapshot for production work. Even I don't do that :) You > might want > to stick with a release, or a copy of a stable snapshot. If > you're just > playing instead, of course it's all right... > > Later, > Luigi > |
On 2004.08.19 13:37, Daniel J. Duffy wrote:
> Are there templates in this code? I know for a fact that VC++ 6.0 > does not support all features. True, that might be the case. I take back my previous statement. But the strange thing is, I don't recall particular changes in template code since I last compiled it... Sigh. I guess we'll have to 'cvs update -D' at different dates and see what broke the build. Lovely :( Later, Luigi |
In reply to this post by cuchulainn
On 2004.08.19 13:37, Daniel J. Duffy wrote:
> Are there templates in this code? I know for a fact that VC++ 6.0 > does not support all features. Ok, it seems to be fixed now. It was indeed a template function, although not a particularly clever one :) Luckily, it did next to nothing (it formatted sequences of numbers for output) so I just #ifndefined it away under VC++. Were anyone interested in tweaking it so as to make it work, it is SequenceFormatter::toString(...) and can be found inside ql/basicdataformatters.hpp. Later, Luigi |
In reply to this post by Zhou Wu-2
Hi Luigi,
Many a night at about 23.30 just before going to bed is the worst to get such an eror. It really destroys one's beauty sleep :-) glad it's solved Ciao Daniel > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]]On Behalf Of Luigi > Ballabio > Sent: 19 August 2004 17:08 > To: Zhou Wu > Cc: [hidden email] > Subject: Re: [Quantlib-users] (Off topic) VC++ 6.0 with fatal error > C1001: > > > On 2004.08.19 13:37, Daniel J. Duffy wrote: > > Are there templates in this code? I know for a fact that VC++ 6.0 > > does not support all features. > > Ok, it seems to be fixed now. It was indeed a template function, > although not a particularly clever one :) Luckily, it did next to > nothing (it formatted sequences of numbers for output) so I just > #ifndefined it away under VC++. Were anyone interested in > tweaking it > so as to make it work, it is SequenceFormatter::toString(...) > and can > be found inside ql/basicdataformatters.hpp. > > Later, > Luigi > > > ------------------------------------------------------- > SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 > Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 > _______________________________________________ > Quantlib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
In reply to this post by Zhou Wu-2
Luigi,
The learning curve with templates is steep, especially if you have to create them yourself. At the risk of a sales pitch, the C++ templates in my book are for public domain use (if you keep the name of Datasim in there). Daniel J. Duffy http://www.datasim-component.com/financial.asp?section=books http://www.datasim-component.com/ > -----Original Message----- > From: [hidden email] > [mailto:[hidden email]]On Behalf Of Luigi > Ballabio > Sent: 19 August 2004 17:08 > To: Zhou Wu > Cc: [hidden email] > Subject: Re: [Quantlib-users] (Off topic) VC++ 6.0 with fatal error > C1001: > > > On 2004.08.19 13:37, Daniel J. Duffy wrote: > > Are there templates in this code? I know for a fact that VC++ 6.0 > > does not support all features. > > Ok, it seems to be fixed now. It was indeed a template function, > although not a particularly clever one :) Luckily, it did next to > nothing (it formatted sequences of numbers for output) so I just > #ifndefined it away under VC++. Were anyone interested in > tweaking it > so as to make it work, it is SequenceFormatter::toString(...) > and can > be found inside ql/basicdataformatters.hpp. > > Later, > Luigi > > > ------------------------------------------------------- > SF.Net email is sponsored by Shop4tech.com-Lowest price on Blank Media > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R for only $33 > Save 50% off Retail on Ink & Toner - Free Shipping and Free Gift. > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 > _______________________________________________ > Quantlib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > |
On 2004.08.19 17:44, Daniel J. Duffy wrote:
> The learning curve with templates is steep Yes--especially for sub-standard compilers :) > At the risk of a sales pitch, the C++ templates in my book are for > public domain use (if you keep the name of Datasim in there). Thank you--we'll sure have a look at them. As for copyright issues and such, I second Nando's suggestion: there should be more than just the name of Datasim in there. Later, Luigi |
In reply to this post by Zhou Wu-2
Luigi,
I have a comment on your what somewhat emotive comment "sub-standard compilers". There are two kinds of compilers, those that do and those that do not support the ANSI/ISO C++ standard. Older versions of VC++ did not support all features but VS 2003 does. Personally, my opinion is that all mistakes are made by the programmers. When I get a compiler error, I look at what I have done wrong. I use the KISS principle always (keep it simple ...) With templates one has to learn how to crawl before we do the 200 breast stoke in Athens. Daniel > -----Original Message----- > From: Luigi Ballabio [mailto:[hidden email]] > Sent: 20 August 2004 12:24 > To: Daniel J. Duffy > Cc: [hidden email] > Subject: Re: [Quantlib-users] (Off topic) VC++ 6.0 with fatal error > C1001: > > > On 2004.08.19 17:44, Daniel J. Duffy wrote: > > The learning curve with templates is steep > > Yes--especially for sub-standard compilers :) > > > At the risk of a sales pitch, the C++ templates in my book are for > > public domain use (if you keep the name of Datasim in there). > > Thank you--we'll sure have a look at them. As for copyright > issues and > such, I second Nando's suggestion: there should be more than > just the > name of Datasim in there. > > Later, > Luigi > |
On 2004.08.20 13:04, Daniel J. Duffy wrote:
> I have a comment on your what somewhat emotive comment "sub-standard > compilers". Daniel, I should have expressed myself better. It wasn't my intention to do Microsoft bashing, or to imply incompetence on the part of VC++ implementors. As you write, > There are two kinds of compilers, those that do and those > that do not support the ANSI/ISO C++ standard. Older versions of VC++ > did not support all features but VS 2003 does. According to the above, I called VC6 (not later VC versions, which happily compiled the code) "sub-standard" as in "one that doesn't support the C++ standard completely." There was no particular emotivity in it, except for my somewhat deplorable penchant for jokes. In fact, I'm having some trouble in writing this mail. I don't want it to look like I'm defending any point (believe me, I'm not) but it's kind of difficult to do it when one doesn't personally know the person one's writing to. It's likely that we would have settled this in 30 seconds and with mutual satisfaction if we had been talking in front of a couple of beers... > Personally, my opinion is that all mistakes are made by the > programmers. When I get a compiler error, I look at what I have done > wrong. I use the KISS principle always (keep it simple ...) Absolutely. In this case, what I have done wrong is using standard C++ instead of the C++ subset digestible by all major compilers. I take it as a fact (albeit an unfortunate one, but that's life) that the latter is the language to use. I would have done it, but in this particular case, I misjudged its extent--due to the fact that the function was IMHO a simple one. > With templates one has to learn how to crawl before we do the 200 > breast stoke in Athens. Ouch. This is _extremely_ difficult to answer without making it look like one is bragging... honestly, in this case it seems to me that the point was not much one's ability in swimming but the more basic fact that one should check that the water is deep enough before diving-- which I admit I didn't. But I'll stop here... Cheers, Luigi |
Hi guys,
I think the discussion must have helped since I could build with latest check out. I had been being frustrated for days for the problem. This is really great. Before I saw Daniel's postings here, I ordered Daniel's book but I have not received it. People said it was an excellent book. I hope so. Cheers, Zhou --- Luigi Ballabio <[hidden email]> wrote: > > On 2004.08.20 13:04, Daniel J. Duffy wrote: > > I have a comment on your what somewhat emotive > comment "sub-standard > > compilers". > > Daniel, > I should have expressed myself better. It wasn't my > intention > to do Microsoft bashing, or to imply incompetence on > the part of VC++ > implementors. As you write, > > > There are two kinds of compilers, those that do > and those > > that do not support the ANSI/ISO C++ standard. > Older versions of VC++ > > did not support all features but VS 2003 does. > > According to the above, I called VC6 (not later VC > versions, which > happily compiled the code) "sub-standard" as in "one > that doesn't > support the C++ standard completely." There was no > particular > emotivity in it, except for my somewhat deplorable > penchant for jokes. > > In fact, I'm having some trouble in writing this > mail. I don't want it > to look like I'm defending any point (believe me, > I'm not) but it's > kind of difficult to do it when one doesn't > personally know the person > one's writing to. It's likely that we would have > settled this in 30 > seconds and with mutual satisfaction if we had been > talking in front of > a couple of beers... > > > Personally, my opinion is that all mistakes are > made by the > > programmers. When I get a compiler error, I look > at what I have done > > wrong. I use the KISS principle always (keep it > simple ...) > > Absolutely. In this case, what I have done wrong is > using standard C++ > instead of the C++ subset digestible by all major > compilers. > I take it as a fact (albeit an unfortunate one, but > that's life) that > the latter is the language to use. I would have done > it, but in this > particular case, I misjudged its extent--due to the > fact that the > function was IMHO a simple one. > > > With templates one has to learn how to crawl > before we do the 200 > > breast stoke in Athens. > > Ouch. This is _extremely_ difficult to answer > without making it look > like one is bragging... honestly, in this case it > seems to me that the > point was not much one's ability in swimming but the > more basic fact > that one should check that the water is deep enough > before diving-- > which I admit I didn't. > But I'll stop here... > > Cheers, > Luigi > > > > SF.Net email is sponsored by Shop4tech.com-Lowest > price on Blank Media > 100pk Sonic DVD-R 4x for only $29 -100pk Sonic DVD+R > for only $33 > Save 50% off Retail on Ink & Toner - Free Shipping > and Free Gift. > http://www.shop4tech.com/z/Inkjet_Cartridges/9_108_r285 > _______________________________________________ > Quantlib-users mailing list > [hidden email] > https://lists.sourceforge.net/lists/listinfo/quantlib-users > _______________________________ Do you Yahoo!? Win 1 of 4,000 free domain names from Yahoo! Enter now. http://promotions.yahoo.com/goldrush |
Free forum by Nabble | Edit this page |