crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
tumanovalex
  опции профиля:
сообщение 4.12.2011, 12:49
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 6.8.2008
Пользователь №: 253

Спасибо сказали: 0 раз(а)




Репутация:   0  


Скомпилированные библиотеки 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
  опции профиля:
сообщение 4.12.2011, 12:58
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Попробуй использовать директории с такими именами, что бы в них не было пробелов, например:
c:/libs/boost
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 4.12.2011, 15:02
Сообщение #3


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


студия сама прекрасно распознаёт пути с пробелами и ставит их в кавычки.
инклюды в папке C:\Program Files\Boost\include\boost? то есть, они должны быть внутри папки boost, чтобы их было видно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tumanovalex
  опции профиля:
сообщение 4.12.2011, 16:05
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 6.8.2008
Пользователь №: 253

Спасибо сказали: 0 раз(а)




Репутация:   0  


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?

Сообщение отредактировал tumanovalex - 4.12.2011, 16:06
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Iron Bug
  опции профиля:
сообщение 4.12.2011, 16:49
Сообщение #5


Профессионал
*****

Группа: Модератор
Сообщений: 1611
Регистрация: 6.2.2009
Из: Yekaterinburg
Пользователь №: 533

Спасибо сказали: 219 раз(а)




Репутация:   12  


это всё - в настройках проекта. студия что-то определяет сама по хэдерам, но я на эти автонастройки не надеюсь. я вообще никогда не разбиралась, как там это автоприлинковывание библиотек в студии работает. для стопроцентной уверенности лучше всё это прописывать явно в проекте, что и как ты хочешь компилить.
статические либы буста имеют окончание -s (-sd для дебажных вариантов). мультипоточные - инфикс -mt-.
есть макрос BOOST_USE_STATIC_LIBS, но он как-то криво работал на некоторых системах и некоторых компиляторах. насчёт msvc я просто не помню, я редко его использую. это надо читать доки про настройку буста конкретно под венду.

Сообщение отредактировал Iron Bug - 4.12.2011, 16:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
tumanovalex
  опции профиля:
сообщение 4.12.2011, 18:50
Сообщение #6


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 6.8.2008
Пользователь №: 253

Спасибо сказали: 0 раз(а)




Репутация:   0  


Спасибо за ответ, буду делать все вручную.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 25.4.2025, 20:59