On May 10, 2011, at 8:38 AM, Greg Ercolano wrote:

>       I was noticing yesterday fltk (1.3.x) builds the "fltk" subproject
>       in DLL hell mode, ie. with the compiler flag /MD (DLL runtime libs)
>       instead of /MT (static runtime libs).
> 
>       Using /MD creates a situation where the resulting exe ends up
>       requiring MSVCRXXX.DLL file in order to run on other machines
>       that don't have VS installed.
> 
>       I'm wondering if:
> 
>               a) the /MD flag is a good default, given the DLL hell
>                  it seems to incur on unsuspecting programmers;
>                  perhaps /MT instead?

The static libraries have their own problems, particularly if you use FLTK as 
part of a plug-in for another application or if you link to any other DLL, 
which will be compiled against the dynamic runtime, pulling in different C 
runtime definitions that clash with the static libraries...

Trust me, I've run into too many problems with different versions of malloc and 
free getting used, leading to some non-obvious crashes/bugs.

>               b) Is there an easy way to change this for the entire lib
>                  if an app programmer needs to?

I dunno, VC++ doesn't offer solution-level settings like Xcode projects...

________________________________________
Michael Sweet, Easy Software Products

_______________________________________________
fltk-dev mailing list
fltk-dev@easysw.com
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to