tag:blogger.com,1999:blog-7485477087436364361.post1669906209633332308..comments2012-04-19T10:27:54.770+04:00Comments on Берлога семейного программиста: Как я контрибьютил в Qt CreatorFlex Ferrumhttp://www.blogger.com/profile/04645408530089394967noreply@blogger.comBlogger12125tag:blogger.com,1999:blog-7485477087436364361.post-65953838833334867422012-02-21T22:00:16.884+04:002012-02-21T22:00:16.884+04:00Мой фикс с range-based for закоммитили.Мой фикс с range-based for закоммитили.Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-33705353559309916082012-02-14T11:23:44.414+04:002012-02-14T11:23:44.414+04:00"Случайно не __GXX_EXPERIMENTAL_CXX0X__?"..."Случайно не __GXX_EXPERIMENTAL_CXX0X__?"<br />Нет. _GLIBCXX_BEGIN_NAMESPACE(N).Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-45284778308760760182012-02-14T00:38:06.286+04:002012-02-14T00:38:06.286+04:00"Захардкодил в препроцессоре соответствующий ..."Захардкодил в препроцессоре соответствующий макрос."<br />Случайно не __GXX_EXPERIMENTAL_CXX0X__?xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-78389267154827652762012-02-14T00:26:54.845+04:002012-02-14T00:26:54.845+04:00"Какой-нибудь хак? :)"
Вроде того. Захар..."Какой-нибудь хак? :)"<br />Вроде того. Захардкодил в препроцессоре соответствующий макрос. Правильный фикс проблемы весьма трудоёмок.<br /><br />"В большинстве случаев это не страшно, т.к. там в явном виде указывать тип не проблема"<br />Ну, в принципе - да, согласен.Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-71464722345144827192012-02-14T00:25:13.511+04:002012-02-14T00:25:13.511+04:00"Встроенный в QtC препроцессор просто не пере..."Встроенный в QtC препроцессор просто не переваривает макросы, с помощью которых объявляется пространство имён "std" в STL от gcc. Для этого у меня тоже есть патч, но есть подозрение, что в апстрим его не возьмут."<br />Какой-нибудь хак? :)<br /><br />"И да, ещё ложечка дёгтя. auto с range based for не будет работать даже с моими фиксами"<br />В большинстве случаев это не страшно, т.к. там в явном виде указывать тип не проблема (например const RenderOp&) в отличие от обычного for (tbb::flattened2d<tbb::enumerable_thread_specific<std::vector<RenderOp>>>::const_iterator)xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-39951032098058580422012-02-14T00:23:15.022+04:002012-02-14T00:23:15.022+04:00Этот комментарий был удален автором.xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-30153090139267319222012-02-13T23:52:58.677+04:002012-02-13T23:52:58.677+04:00На самом деле, постараюсь выложить в апстрим до ко...На самом деле, постараюсь выложить в апстрим до конца февраля (то есть до срока features complete). Но с gcc 4.6 есть ещё один прикол. Встроенный в QtC препроцессор просто не переваривает макросы, с помощью которых объявляется пространство имён "std" в STL от gcc. Для этого у меня тоже есть патч, но есть подозрение, что в апстрим его не возьмут.<br /><br />И да, ещё ложечка дёгтя. auto с range based for не будет работать даже с моими фиксами. Тут уже проблема в том, как QtC работает с шаблонами классов. Обрабатываются только самые простые случаи, под которые большинство контейнеров не попадает... :(Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-9768296968074628832012-02-13T23:46:34.825+04:002012-02-13T23:46:34.825+04:00"Я его собирал под MinGW. После сборки - не з..."Я его собирал под MinGW. После сборки - не запустился. Разбираться не стал, переключился на Visual C, и всё заработало." <br />Ну, с MinGW действительно часто косяки вылазят.<br /><br />"Ну разве что в виде патчей могу выложить."<br />Если действительно несложно, и прогнозы по срокам когда это попадет в апстрим больше месяца. Просто недавно в рабочем проекте перешли на gcc 4.6 и местами очень кстати пришлись лямбды и for, но вот отсутствие их поддержки в qtcreator (особенно у for) сильно портит удобство использования. Поэтому и "загорелось".xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-24818204888284972652012-02-13T15:04:42.586+04:002012-02-13T15:04:42.586+04:00"Кстати, а что за проблемы у вас вылезли при ..."Кстати, а что за проблемы у вас вылезли при сборке с gcc? Под убунтой 10.04 (с qt-4.7.4) собралось вообще без всяких бубнов."<br />Я его собирал под MinGW. После сборки - не запустился. Разбираться не стал, переключился на Visual C, и всё заработало. :) Это не значит, что gcc плох, просто при сборке в моём окружении возникли траблы, на решение которых я решил не тратить время.<br /><br />"Просто подумал, что если вы уже реализовали поддержку for и lambda, то возможно есть локальная копия исходников где это все присутствует"<br />Ну разве что в виде патчей могу выложить.Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-55968095946231301222012-02-13T14:43:23.473+04:002012-02-13T14:43:23.473+04:00Исходники из публичного репозитория уже давно выка...Исходники из публичного репозитория уже давно выкачаны и собраны, и auto там действительно работает. Просто подумал, что если вы уже реализовали поддержку for и lambda, то возможно есть локальная копия исходников где это все присутствует, собственно ее я и имел в виду, когда спрашивал про возможность выложить куда-нибудь. Если это проблемно - не настаиваю, лучше потратить время на push в официальный репозиторий.<br /><br />Кстати, а что за проблемы у вас вылезли при сборке с gcc? Под убунтой 10.04 (с qt-4.7.4) собралось вообще без всяких бубнов.xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-79337150204086785092012-02-12T21:18:44.916+04:002012-02-12T21:18:44.916+04:00Спасибо за оценку. :)
Исходники Qt Creator'а ...Спасибо за оценку. :)<br /><br />Исходники Qt Creator'а доступны из его публичного git-репозитория:<br />https://qt.gitorious.org/qt-creator/qt-creator/<br /><br />Фикс с auto там доступен. Фикс для for и для лямбд сейчас готовлю к push'у в апстрим.Flex Ferrumhttps://www.blogger.com/profile/04645408530089394967noreply@blogger.comtag:blogger.com,1999:blog-7485477087436364361.post-125511585642553402012-02-12T12:53:41.677+04:002012-02-12T12:53:41.677+04:00Недавно посетила дурная мысль самому вытянуть и со...Недавно посетила дурная мысль самому вытянуть и собрать последний qt creator, и пофиксить уже порядком надоевшую проблему с lambda и range based for, как вот наткнулся на ваш блог :) Спасибо за проделанную работу, надеюсь в 2.5 попадет все, а не только auto. Кстати, нет ли возможности куда-нибудь выложить вашу версию (желательно в исходниках чтобы можно было собрать под linux)?xophttps://www.blogger.com/profile/02118274359806657865noreply@blogger.com