C++ std::tr2 для VS2005
Является ли Boost единственным способом для пользователей VS2005 испытать TR2? Также существует ли идиотский способ загрузки только пакетов, связанных с TR2?
Я смотрел на программу установки BoostPro, предоставляемую BoostPro Consulting. Если я выбираю параметры для всех параметров потоков со всеми пакетами для MSVC8, требуется 1,1 ГБ. Хотя у меня не хватает места, кажется нелепым, что библиотеке требуется более гигабайта пространства, и BPC требуется много времени, чтобы догнать текущий выпуск.
Какие пакеты мне нужны? Меня действительно интересуют только те, которые содержат std::tr2, и я могу это выяснить, сравнив предлагаемые предложения с теми, которые представлены в отчете TR2, и выбрав их из списка, но даже тогда не ясно, что нужно, и Меня раздражает тот факт, что это версия позади.
Я знаю из предыдущих встреч с Boost (1.33.1), что самокомпиляция - это жалкий опыт: много времени было потрачено впустую, чтобы начать, и затем куча ошибок проходит по экрану быстрее, чем вы можете прочитать, так что вы остаетесь с неприятным ощущением, что что-то сломано, но вы не совсем знаете, что.
У меня никогда не было таких проблем с какой-либо библиотекой Apache, но это еще одна напыщенная речь...
4 ответа
Я полагаю, что вы на самом деле имеете в виду TR1, а не TR2. Призыв к предложениям для TR2 открыт, но не ожидайте увидеть много изменений, пока не выйдет новый стандарт C++. Кроме того, хотя boost является поставщиком реализации TR1, dinkumware и GNU FSF являются другими поставщиками - на VC2005 boost, вероятно, является самым простым способом доступа к этой функциональности.
Библиотеки от boost, которые, вероятно, будут иметь наибольшее значение,
- ссылка
- умный указатель
- привязывать
- тип черты
- массив
- регулярные выражения
За последние несколько выпусков документация по наращиванию сборки постепенно улучшалась, текущее руководство по началу работы довольно подробно. Умный указатель и связывание, должны работать из заголовочных файлов, и IMO, это самые полезные элементы TR1.
Частью красоты Boost является то, что весь код находится в заголовочных файлах. Они должны по шаблонным причинам. Поэтому, вероятно, загрузка кода и включение его в ваш проект будет работать. В Boost есть некоторые библиотеки, которые нуждаются в компиляции, но пока они вам не нужны...
Библиотеки, которые меня больше всего интересуют в TR1/TR2, - это потоки и связанные атомные компоненты.
Собрать библиотеки boost для себя на самом деле довольно просто, если не так хорошо задокументировано. Документация находится в файле jamroot. Бежать bjam --help
в корневом каталоге Boost для подробного списка опций. В качестве примера я использовал следующую командную строку для создания моей текущей установки с boost 1.36.0:
bjam --build-type=complete --toolset=msvc --build-dir=c:\boost\build install
Он работал около получаса на моей машине и помещал полученные файлы в c:\boost