В каждой платформе есть различные версии данной библиотеки: многопоточный, отлаживать, динамический, и т.д ..Почему существует так много библиотек в MSVC и почему я должен перекомпилировать код снова
Поправьте меня если я ошибаюсь здесь, но в Linux объект может ссылаться на любую версию библиотеки просто отлично, независимо от того, как она скомпилирована. Например, нет необходимости использовать какие-либо специальные флаги во время компиляции, чтобы указать, будет ли ссылка в конечном итоге быть в динамической или статической версии библиотек времени выполнения (пояснение: я не говорю о , создавая динамический/статический библиотеки, я говорю об их привязке - так что -fPIC
не применяется). То же самое касается отладочной или оптимизированной версии библиотек.
Почему в MSVC (Windows вообще с другими компиляторами? True?) Мне нужно перекомпилировать код каждый раз, чтобы ссылаться на разные версии библиотек? Я говорю флагов/MD,/MT,/MTd,/MDd и т. Д. Действительно ли код использует разные системные заголовки каждый раз. Если да, то почему?
Я бы очень признателен за любые указатели на твердую документацию, которая обсуждает эти вопросы библиотеки в Windows, для/C++ программиста C ..
спасибо!
Linux требует связывания по имени библиотеки - MS предоставляет ключи/Mx в качестве удобства. – 2009-12-24 19:41:29
Итак, это исключительно для удобства автоматического разрешения имен библиотек? – sly