Я хочу использовать библиотеку Boost.Thread в программном обеспечении C ++, которое я разрабатываю.
Поскольку я новичок в C ++, я хотел бы знать, есть ли различия между:
Вариант 1 кажется таким болезненным …
Насколько я могу судить, это сборки по умолчанию, а не из исправленных или измененных источников или чего-то еще.
Если вы позаботитесь о том, чтобы использовать правильную версию двоичных файлов для вашей цели приложения и версии VC (включая пакеты обновления) и ссылаться на правильные библиотеки (общие, статические CRT, отладка и т. Д.), У вас должно быть все в порядке.
Кроме того, поскольку кажется, что эти пакеты не содержат заголовков Boost, вы должны позаботиться о том, чтобы получить и использовать правильную версию заголовков.
По поводу «различий». Boost — это большая и сложная коллекция библиотек. Для программного обеспечения такого размера он имеет довольно простой и понятный процесс сборки, но, тем не менее, есть много опций и настроек, которые вы можете сделать при сборке Boost (например, вы можете создавать Boost.Iostreams с поддержкой zlib и bzip2 или без нее, сборка Boost). .Regex с поддержкой Unicode или без нее, сборка Boost.Python для разных версий Python и многое другое.) При сборке Boost вы можете контролировать эти параметры.
Значения по умолчанию работают для большинства людей, но некоторые люди могут нуждаться в определенных настройках. Возможно, вам понадобится конкретная версия определенной необязательной зависимости или определенная библиотека, созданная определенным образом. Для этого вам, вероятно, понадобится собрать Boost самостоятельно и поддерживать сборку на протяжении всего проекта. Это не страшная задача!
Если у вас нет особых требований, то, скорее всего, вам подойдет общая сборка.
Других решений пока нет …