Visual C++ configurations

Posted by Luigi Ballabio on
URL: http://quantlib.414.s1.nabble.com/Visual-C-configurations-tp12202.html


Hi all,
        I've just answered a poor soul on quantlib-users that asked about the  
difference between the various VC++ configurations we've defined. A  
few thoughts:

First: the nomenclature is cryptic. It's not obvious that CRTDLL  
stands for "common runtime dll." We should clarify the names.

Second, and perhaps most important: there's a mismatch between what we  
call release and what the default is for VC++ projects. If one asks  
for a new project, VC++ creates one with a Debug and a Release  
configuration. Unfortunately, they don't correspond to what we call  
release. If a user has compiled QuantLib in Release mode and tries to  
link it to its new application, he'll have an unexpected linking  
error.  What VC++ 7 calls "Release" is what we call "Release  
SingleThread"; what VC++ 8 and 9 calls "Release" is what we call  
"Release CRTDLL".

Needless to say, I'd like to fix this in future releases. For VC++ 8  
and 9, I'd call "Release" the default configuration (crtdll) and  
something like "Release (static runtime)" the current Release. Well,  
actually, I'm not even sure that I'd leave multiple configurations  
instead of just Debug/Release; on the one hand, they're confusing for  
most users, and on the other hand, a user that needs a particular  
runtime is likely to know what settings to change to obtain it. We can  
talk about this; at the very least, I'd switch the names.

For VC++ 7, I'm not so sure. For uniformity, I'd call Release what VC+
+ calls Release, i.e., the single-thread configuration. But doing so,  
we'd lose uniformity between VC++ versions; and I'm also concerned  
about QuantLibXL---Eric, does it support single-thread mode, or does  
it require the multi-threaded runtime? If the latter, we might want to  
use the crtdll configuration as default.

Thought anyone?

Later,
        Luigi



-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
QuantLib-dev mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-dev