Login  Register

Re: Build configurations & boost

Posted by Luigi Ballabio on Sep 03, 2008; 9:06pm
URL: http://quantlib.414.s1.nabble.com/Build-configurations-boost-tp6550p6551.html


Fabrice,
        apologies for the delay. Vacations disrupted my email queue...

On Aug 7, 2008, at 3:18 AM, Lecuyer, Fabrice wrote:
> I see that 4 different build configurations are available: Debug,  
> Debug CRTDLL, Release and Release CRTDLL. Although I am familiar  
> with the differences between a Debug build and a Release build, the  
> Debug CRTDLL and the Release CRTDLL configurations puzzle me a bit.  
> I guess the real question is: "What are they and what is the  
> difference between them and a normal Debug/Release config?".

The "normal" Debug/Release configurations cause the library to link to  
the static C++ runtime, so that applications using it are self-
contained. The cryptic CRTDLL configurations link to the DLL runtime,  
so that the applications are somewhat smaller but require the runtime  
to be installed on the machines where they're deployed.  We might have  
to clarify this in future releases...


> Regarding the boost dependencies it appears that each one of those  
> configurations requires a different type of librairy to link with  
> (for the test-suite project only I think):
> Debug -> Multi-thread Debug, static runtime (mt-sgd)
> Debug CRTDLL -> Multi-thread Debug (mt-gd)
> Release -> Multi-thread, static runtime (mt-s)
> Release CRTDLL -> Multi-thread (mt)
>
> I would have expected the CRTDLL configurations to require the Multi-
> thread DLL librairies, and the non-CRTDLL to need the Multi-thread  
> librairies. Anyone can shed some light on this?

The Boost people mean something different when they say "DLL"---they  
refer to the libraries, not the runtime. In the above, where static  
runtime is not specified, imagine a "dll runtime" and you'll have a  
match with our convention.


> Also when building under Release or Release CRTDLL, the test suite  
> is automatically run at the end of the process. This is a cool  
> thing, but how is it done?

It's a post-build action.  I don't remember how you enable it right  
now (I'm writing this from my MacBook at home) but if you open the  
project settings and look around, you'll find it somewhere.

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-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users