Re: "Windows Programing" beginner questions concerning libraries
* when I build a library which should be linked statically, should I
use -MD or -MT?
MT is for the multi-threaded statically linked 'C' run-time library.
If you're linking to a library which uses -MT itself, you would
normally use -MT as well.
* when I build a DLL, should I use -MR or -MT? Does -MT actually make
sense when building a DLL?
-MT is OK to use with a DLL provided that the programmatic interface
to the functions in the DLL doesn't assume sharing of 'C' run-time
data across the boundary - things like allocating memory in the DLL
and trying to free it from the EXE won't work.
* When I start a new project using the Project Wizard of VS2008 for a
static library it uses -MD by default. Why? Is -MD in any sense
"better" to -MT?
It ensures that people building an EXE & DLL won't fall fowl of the
situation I mentioned above.
* When building boost from source it produces static libraries
libboost_*-mt.lib, so I guess those are linked using -MT
I'd assume so from the names.
* I tryed building Qt 4.4.1, which builds DLLs and also uses png,
tiff, jpeg. Should I provided a png.dll/... for Qt or should I
provided static libraries? If static libraries, should I use -MT or -
MD to build them?
I'm afraid I've no experience of Qt.
Dave