18 июня 2008

Boost 1.35 issues

Boost 1.35 меня убивает. То, что при компиляции моих проектов появились варнинги там где их раньше не было - это меньшее из зол. Тут столкнулся со следующим: Boost.Range перестало работать с null terminated strings.

Вот такой вот код компилируется и работает с 1.34.1 и не компилируется 1.35:
const char* String = "hello";
size_t Len = boost::end(String) - boost::begin(String);

PS. Для меня было откровением узнать, что в NTFS есть hard- и symbolic links. Можно создать папочки boost_1_35 и boost_1_34_1 и символическую ссылку boost на одну из них. При необходимости можно легко поменять ссылку.

5 комментариев:

jia3ep комментирует...

Там ещё много странностей в 1.35. Например, перестал работать boost::multi_index с boost::pool_allocator. А раньше работал.

Yuriy Volkov комментирует...

hard- и symbolic links
и как это сделать?

Raider комментирует...

Yuriy Volkov:
из командной строки: fsutil
можно в Far/Total Commander
я пользуюсь Link Shell Extension

Yuriy Volkov комментирует...

спасибо, мне ссылок очень не хватало (уж больно привык к ним, когда писал под Linux)

Анонимный комментирует...

в доке к 1.34 написано английским по белому что null-terminated string'и не будут поддерживаться range'ем в следующей версии (то бишь 1.35)