Как добавить буст в мой проект? - PullRequest
7 голосов
/ 05 августа 2010

Я работаю над кроссплатформенным (Windows, Linux, Solaris) проектом. Я хочу использовать Boost's shared_ptr в этом проекте.

Как я могу установить его и распространить вместе с проектом среди клиентов?

У меня нет прав root в Linux / Solaris, поэтому мне, вероятно, придется добавить источники Boost в мои источники и собрать их вместе.

Кроме того, наша версия Solaris очень старая (2.5.1, май 1996 г.). Может ли это вызвать какие-либо проблемы со сборкой shared_ptr?

Ответы [ 4 ]

4 голосов
/ 05 августа 2010

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

В вашем кодовом файле включите этот заголовок:

#include<boost/shared_ptr.hpp>

и используйте его так:

boost::shared_ptr<int> ptrToInt (new int);
4 голосов
/ 05 августа 2010

Нет необходимости включать источники библиотеки Boost (Boost - довольно большая библиотека).Просто включите Boost в свои предварительные условия.

В случае, если вы распространяете свой проект в двоичном виде, вам вообще не нужно включать библиотеки Boost.

3 голосов
/ 05 августа 2010

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

3 голосов
/ 05 августа 2010

boost::shared_ptr только для заголовка.Просто добавьте необходимые заголовочные файлы в ваш проект, и все готово.

shared_ptr также является частью TR1, первого Технического отчета библиотеки C ++ и, например, включен в новые версии GCC (> =4.0.0) (см. здесь для получения дополнительной информации).

...