Matthias Melcher wrote:
>>>     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 [..]
>> Trust me, I've run into too many problems [..]
> 
> Yes, that's exactly why we decided to use multithreaded DLL linking [..]

        I see, OK.

        Does that mean we should change the /MT flags that are currently
        set in the ide/VisualC for e.g. fltkdll, pngdll, etc? eg:

# grep /MT fltk-1.3.x-svn/ide/VisualC6/* | sed 's%/W3 .*%..%'
fltk-1.3.x-svn/ide/VisualC6/fltk_formsdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_formsdll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltk_gldll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_gldll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltk_imagesdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_imagesdll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltk_jpegdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_jpegdll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltk_pngdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_pngdll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltk_zlibdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltk_zlibdll.dsp:# ADD BASE CPP /nologo /MTd ..
fltk-1.3.x-svn/ide/VisualC6/fltkdll.dsp:# ADD BASE CPP /nologo /MT ..
fltk-1.3.x-svn/ide/VisualC6/fltkdll.dsp:# ADD BASE CPP /nologo /MTd ..

        I can change the /MT* to /MD* and check that in.

> Oh, and BTW, linking "multithread DLL" does *not* mean that you have
> to link dynamically! It merely means that the C runtime is linked
> dynamically, making sure that all modules use the same basic C functions.

        Right, and therein lies the problem of distributing executables
        to non-dev machines; getting that damned MSVCRxxx.DLL to work on
        non-dev machines is a PITA, unless I'm missing something simple.
        I spent half a day trying to first figure out how to get the DLL
        to work, then another hour or so trying to determine why it needed
        it when my app had /MT, but realized FLTK had been built with /MD,
        (and therefore the FLTK libs were requiring it, even though my app
        didn't).
_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to