Если .lib-файлы предназначены для статических ссылок и DLL-файлов для динамической компоновки, почему я могу указать в C/C++ -> генерация кода -> параметры библиотеки времени выполнения, выберите многопоточную или многопоточную DLL при построении явно статичного библиотеки (т. е. при создании .lib) или при создании проекта и привязке к библиотеке .lib?visual studio 2013 options
ответ
В Visual Studio вы можете указать, как CRT будет интегрирован в ваш проект под C/C++->Code Generation->Runtime Library
. Этот параметр проекта контролирует, как подпрограммы C/C++, используемые явно или внутренне (например, функции исключения или процедуры STL), будут связаны с вашим проектом.
Вы можете создать статическую библиотеку, которая использует CRT динамически или статически, указав флаг /MT
или /MD
во время компиляции.
Что касается преимуществ/недостатков, я связываю this answer, который содержит довольно хороший список точек, которые следует иметь в виду.
Последнее, что нужно заметить: если ваш проект будет использовать несколько статических библиотек (включая ваш .lib-файл), вы должны убедиться, что эта опция CRT соответствует во время фазы связывания, иначе вы можете столкнуться с the (in)famous LNK4098 error.
- 1. Visual Studio 2013 закрывает
- 2. Visual Studio Express 2013
- 3. CUDA + Visual Studio 2013
- 4. Threading visual studio 2013
- 5. visual studio 2013 professional
- 6. Комментарии/Visual Studio 2013
- 7. SFTP visual Studio 2013
- 8. VIsual Studio 2013 - Javascript
- 9. Modulus Visual Studio 2013
- 10. Horrible Visual Studio 2013 Производительность
- 11. Поддерживает ли InfoPath 2013 Visual Studio 2013?
- 12. Отображение времени сборки в Visual Studio 2013?
- 13. Visual Studio 2013 и 2015
- 14. BrowserLink в Visual Studio 2013
- 15. Visual Studio 2013 C++ IntelliSense
- 16. cURL с Visual Studio 2013
- 17. Модульные тесты Visual Studio 2013
- 18. Visual Studio 2013 Добавить View
- 19. Шаблон проекта Visual Studio 2013
- 20. Ошибка установки Visual Studio 2013
- 21. повышение :: read_graphml Visual Studio 2013
- 22. System.Data.SQlite для Visual Studio 2013
- 23. Изменение фона Visual Studio 2013
- 24. SDL ошибок Visual Studio 2013
- 25. Visual Studio 2013 Run Settings
- 26. Visual Studio 2013 блок Установка
- 27. Visual Studio 2013 не работает
- 28. visual studio 2013 не отвечает
- 29. Visual Studio 2013 Community NShader
- 30. Дополнительные папки Visual Studio 2013
Этот параметр предназначен для среды выполнения, которая не зависит от цели, которую вы производите. Я имею в виду, что вы можете создать статический .lib с динамическим CRT или DLL со статическим CRT и несколькими другими комбинациями. – drescherjm
Что такое CRT и когда я хочу сделать его статическим или динамическим? Я хочу статически связывать мои библиотеки, это гарантировано, если это файл .lib в любом случае? Настройка времени выполнения должна соответствовать всем библиотекам? – user3353819