Я пытаюсь создать статическую библиотеку C/С++ с использованием visual studio 2005. Поскольку выбор библиотеки времени выполнения является компиляцией, мне приходится создавать четыре варианта моей библиотеки, по одному для каждого варианта времени выполнения библиотека:
- /MT - статическая библиотека времени выполнения
- /MD - библиотека времени выполнения DLL
- /MTd - отладка статической библиотеки времени выполнения
- /MDd - отладка библиотеки времени выполнения DLL
Это параметры компилятора, а не параметры компоновщика. Исходя из фона Linux, это кажется странным. У разных библиотек времени исполнения разные соглашения о вызовах или что-то еще? Почему не удается разрешить разные библиотеки времени выполнения во время соединения, т.е. Когда я свяжу приложение, использующее мою статическую библиотеку?