#boost
#boost
Вопрос:
В boost есть два типа библиотек, одна заканчивается на mt-gd
, другая заканчивается на mt-s
. В чем разница между этими двумя?
Ответ №1:
Прочитайте Boost Начало работы в Windows
- mt: многопоточность
- d: Добавить теги ABI, которые можно использовать с:
- g: использование отладочных версий стандартной библиотеки и библиотеки поддержки среды выполнения.
- s: статическая привязка к стандартным библиотекам и библиотекам поддержки во время выполнения.
- и многое другое
Комментарии:
1. При сборке в Windows с использованием .b2 по умолчанию создаются библиотеки mt и mt-g. Для создания библиотек mt-s используйте
.b2 runtime-link=static
. Библиотеки создаются в каталоге ‘stage’, а не в каталоге ‘libs’ по умолчанию.
Ответ №2:
Как указывалось в других ответах и комментариях, они представляют разные конфигурации. С помощью этого ответа я хотел бы дать более полный обзор и ссылку на соответствующие конфигурации Visual Studio:
- Значение Boost
-mt-s
соответствует настройке библиотеки времени выполнения VS/MT
- Значение Boost
-mt-sgd
соответствует настройке библиотеки времени выполнения VS/MTd
- Значение Boost
-mt
соответствует настройке библиотеки времени выполнения VS/MD
- Значение Boost
-mt-gd
соответствует настройке библиотеки времени выполнения VS/MDd
Первая и вторая могут быть созданы с ./b2 runtime-link=static threading=multi
Третья и четвертая могут быть созданы с ./b2 runtime-link=shared threading=multi
Комментарии:
1. Отличный исчерпывающий ответ. Вы спасли положение!