I noticed the following about a library I use:
- Library is compiled to .lib file.
- My code needs to be compiled as Multi-threaded (Debug) DLL to link to this library.
I open the .sln (solution) file of the library (it is open source) and see the following in its Project properties:
- Runtime Library option is set to Multi-threaded (Debug) DLL.
- Configuration Type is set to Static Library (.lib)
My confusion is:
- Isn't there a conflict in the library options above? (Static Library says one option, DLL says another)
- What kind of an animal is a .lib that is dynamically linked? How is it different from a DLL?
Note that I am aware of the difference between static libraries and dynamic libraries in the Linux world.