crossplatform.ru

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

> Boost и MSVS 2010, конфликт библиотек
Iron Bug
  опции профиля:
сообщение 20.8.2010, 21:22
Сообщение #1


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

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

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




Репутация:   12  


Программистам на заметку: новая студия Microsoft Visual Studio 2010 не дружит с бустом.
Проблема в перекрытии некоторых стандартных внешних макросов и функций, объявленных в базовых библиотеках буста и добавленных в новые стандартные библиотеки студии.
Например, перекрываются определения pair, из-за чего не работают многие бустовские фичи, алгоритмы, bind, лямбда-функции, фьючи(futures) в интерпроцессе. Вероятно, проблем куда больше и пока не понятно, как их решать. Если дело касается одного-двух применений - можно локально написать макросы или указать явно область видимости. Но когда начинается применение перекрытых новой студией определений где-то внутри используемых библиотек - это заставляет отказаться от идеи скрещивания буста и студии 2010.
Разработчики буста в курсе проблемы, но пока что изменений нет.

Я пока что отказалась от студии 2010. В сишном компиляторе там не так много полезного добавилось по сравнению с предыдущими версиями. Посмотрю, что будет дальше.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Iron Bug
  опции профиля:
сообщение 25.8.2010, 13:47
Сообщение #2


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

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

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




Репутация:   12  


Цитата(niXman @ 25.8.2010, 8:42) *
приведите пример кода, и сообщения компилятора. а так же, версию boost.

зачем тебе оно? проект у меня гигантский. частные случаи применения, на которых падает, и причины падения я привела. а так вывод слишком огромен и нет смысла его тащить сюда. буст последний, 43-й.
у меня проблем нет: я просто не буду юзать 2010 студию, в компиляторе там ничего полезного не добавлилось всё равно. буст куда важней и полезнее, чем стандартные мелкософтовские библиотеки. я просто ради предупреждения других это написала.

если хочешь воспроизвести ошибку, заюзай любую бустовскую библиотеку, которая использует make_pair, определённый в бусте. в списке проблем и багов буста это уже есть, но я так подозреваю, это никто править не станет. я лично не вижу простых путей разрешения этого конфликта. там слишком дофига надо менять и главное - интерфейс изменится, а это не есть гут. разработчики предлагают переопределять перекрытые функции макросами и юзать макросы, но в библиотеках, которые юзают другие библиотеки, это не сделаешь так просто. это надо переписывать код самих библиотек, в том числе интерпроцесса, лямбда-функций, бинда и т.п. а это слишком много. и главное - нет гарантии, что мелкософт какое-нить западло не устроит снова :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Iron Bug   Boost и MSVS 2010   20.8.2010, 21:22
- - niXman   приведите пример кода, и сообщения компилятора. а ...   25.8.2010, 5:42
- - Iron Bug   Цитата(niXman @ 25.8.2010, 8:42) приведит...   25.8.2010, 13:47
- - niXman   Цитатапоследний, 43-й. последний - 1.44.0.   26.8.2010, 16:04
- - Iron Bug   Цитата(niXman @ 26.8.2010, 19:04) последн...   26.8.2010, 17:28
- - Iron Bug   выкроила время, чтобы собрать 44-й буст и проверит...   27.8.2010, 11:50
- - Litkevich Yuriy   Цитата(Iron Bug @ 27.8.2010, 15:50) надо ...   27.8.2010, 19:33
- - Iron Bug   Цитата(Litkevich Yuriy @ 27.8.2010, 22:33...   28.8.2010, 0:05
- - niXman   Цитатафича interprocess'а: фьюча (future). в b...   30.8.2010, 0:14
- - DEADHUNT   Цитата(niXman @ 30.8.2010, 1:14) в boost....   30.8.2010, 21:55
|- - BRE   Цитата(DEADHUNT @ 30.8.2010, 22:55) boost...   30.8.2010, 22:25
- - DEADHUNT   Цитата(BRE @ 30.8.2010, 23:25) IMHO, не с...   30.8.2010, 22:57
|- - BRE   Цитата(DEADHUNT @ 30.8.2010, 23:57) Цитат...   30.8.2010, 23:38
- - niXman   Цитатаа что это там за шаблон future? смотри std::...   31.8.2010, 0:53
- - DEADHUNT   Цитата(niXman @ 31.8.2010, 1:53) смотри s...   31.8.2010, 10:10
- - Iron Bug   Цитата(niXman @ 30.8.2010, 3:14) если вы ...   1.9.2010, 0:55
- - DEADHUNT   Цитата(Iron Bug @ 1.9.2010, 1:55) я сравн...   1.9.2010, 11:26
- - Iron Bug   Цитата(DEADHUNT @ 1.9.2010, 14:26) как мо...   1.9.2010, 20:54


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


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




RSS Текстовая версия Сейчас: 2.12.2024, 3:07