Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Настройка VC++ 2008 Express для работы с Boost
Форум на CrossPlatform.RU > Библиотеки > boost
tumanovalex
Скомпилированные библиотеки Boost 1.47 поместил в директории C:\Program Files\Boost\Lib, а заголовочные файлы - в C:\Program Files\Boost\include. Эти директории добавил в Параметрах VC++ соответственно в файлы библиотек и включаемые файлы. Взял из википедии пример:
#include <boost/random.hpp>
#include <ctime>

using namespace boost;

double SampleNormal (double mean, double sigma)
{
   mt19937 rng;
   rng.seed(static_cast<unsigned> (std::time(0)));
   normal_distribution<double> norm_dist(mean, sigma);
   variate_generator<mt19937&, normal_distribution<double> >  normal_sampler(rng, norm_dist);
   return normal_sampler();
}
Получил сообщение "Не удается открыть файл include: boost/random.hpp". Понятно, что настройки VC++ непральные, а вот как сделать так, чтобы в директории include среда находила заголовочные файлы, я не знаю. Подскажите, пожалуйста, как правильно настроить VC++ для работы с boost.
BRE
Попробуй использовать директории с такими именами, что бы в них не было пробелов, например:
c:/libs/boost
Iron Bug
студия сама прекрасно распознаёт пути с пробелами и ставит их в кавычки.
инклюды в папке C:\Program Files\Boost\include\boost? то есть, они должны быть внутри папки boost, чтобы их было видно.
tumanovalex
Iron Bug, спасибо большое, у меня раньше все hpp были в C:\Program Files\Boost\include\. Перенес их в C:\Program Files\Boost\include\boost - все получилось. Сам бы я вряд ли догадался. Появились еще вопросы:
1. Как настроить среду и разместить файлы boost, чтобы при выборе debug подключались скомпилированные библиотеки boost для debug, а при выборе релиза - скомпилированные библиотеки boost для релиза.
2. Как настроить среду и разместить файлы boost, чтобы при выборе библиотеки времени выполнения многопоточная (/MT) подключалисть статические библиотеки boost (скомпилированные с static), а для многопоточной DLL - библиотеки boost, скомпилированныс с shared.
3. А можно ли сделать так, чтобы при выборе режима (debug или release) и соответствующей библиотеки (при разных сочетаний режима и библиотеки времени выполнения) подключались соответствующие библиотеки boost?
Iron Bug
это всё - в настройках проекта. студия что-то определяет сама по хэдерам, но я на эти автонастройки не надеюсь. я вообще никогда не разбиралась, как там это автоприлинковывание библиотек в студии работает. для стопроцентной уверенности лучше всё это прописывать явно в проекте, что и как ты хочешь компилить.
статические либы буста имеют окончание -s (-sd для дебажных вариантов). мультипоточные - инфикс -mt-.
есть макрос BOOST_USE_STATIC_LIBS, но он как-то криво работал на некоторых системах и некоторых компиляторах. насчёт msvc я просто не помню, я редко его использую. это надо читать доки про настройку буста конкретно под венду.
tumanovalex
Спасибо за ответ, буду делать все вручную.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.