C ++ Boost: включен ли он по умолчанию в большинство дистрибутивов Linux? - PullRequest
7 голосов
/ 29 октября 2009

Библиотека C ++ Boost обычно включена по умолчанию в большинстве дистрибутивов Linux?

Ответы [ 2 ]

21 голосов
/ 29 октября 2009

Многие дистрибутивы включают boost в свои официальные репозитории, но не предоставляют его по умолчанию при стандартной установке (другими словами, он не устанавливается по умолчанию, но относительно прост в установке).

С другой стороны, предположим, что вы спрашиваете об этом, потому что вам интересно, можете ли вы использовать boost в проекте, который вы хотите использовать во многих дистрибутивах: большинство библиотек boost являются заголовочными, потому что они являются шаблонами, которые означает, что они скомпилированы в ваш проект, и не имеет значения, установлены ли они в дистрибутиве (тот же эффект, что и при статической компоновке).

Для тех частей надстройки, которые не являются только заголовками, вы можете статически связывать и по-прежнему создавать двоичный файл, который будет работать на дистрибутивах, которые не поставляются с надстройкой.

1 голос
/ 27 мая 2011

Имейте в виду, что в дистрибутивы с включенным Boost может входить действительно старая версия Boost. Я обнаружил, что это может вызвать множество мелких проблем.

Например, вы найдете класс whiz-bang, который есть в boost v.latest и не в версии v.included. Если указанный класс whiz-bang «только заголовки», вы можете обойти это довольно легко. Если указанный класс включает библиотеку, фактор боли увеличивается (существующие двоичные файлы будут нуждаться в общих библиотеках версии v.included - ваш код будет нуждаться в v.latest).

Я уверен, что все эти проблемы можно обойти, но они, вероятно, больше, чем вы планировали, поэтому зарезервируйте время в своем графике / спринте, чтобы разобраться с ними.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...