Можно создать дубликат:
Why is runtime library a compiler option rather than a linker option?Почему опция/MD является компилятором? а не линкер?
я явно не понимаю, почему я должен выбрать тип RTL на этапе компиляции?
Например, я создал одну статическую библиотеку A.lib с опцией/MD. Затем я создал вторую статическую библиотеку B.lib с опцией/MT.
Когда я пытаюсь связать A.lib и B.lib с моим C.exe Я получу ошибку компоновщика.
Но на этапе компиляции (создание A.lib и B.lib) нет причин для разрешения символов из c или C++ runtime.
Связанные. http://stackoverflow.com/questions/521972/why-is-runtime-library-a-compiler-option-rather-than-a-linker-option –
ЭЛТ просто не очень совместима с ним. Самая большая проблема - глобальные переменные, такие как errno. Возвращается к функции с/MD. –