Pull to refresh

Comments 67

На когда собственно намечен релиз или бета?
Кто сейчас мейнтейнит Qt?

P.S. Давно не писал на Qt и не слежу за развитием.
Chief Maintainer — Lars Knoll
Они планируют альфу в начале марта,
бету в апреле
и релиз до отпусков, т. е. в июне-июле
пруфлинк: www.slideshare.net/thiagomacieira/qtprojectorg-and-qt-5 21 слайд

Верится в это с трудом, я думаю релиз подоспеет к QtDD2012,
а более-менее стабильную бету мы получим как раз к середине лета.
Странно, я думал нокиа начинает Qt по немного сливать.
Ничего подобного, скорость развития очень хорошая!
Сколько модулей то наплодили.
Ну так разбили QtGui на два модуля и добавили все модули из QtMobility.
Уже заметил, но комментарий удалить нельзя.
Это же замечательно — много небольших по размеру модулей с максимально ослабленными между собой связями. Используем только то что нужно и не переплачиваем объемами за удобства.
Я только за. Раньше из-за QtDeclarative приходилось таскать еще не хилую QtGui.
Хочу добавить, что если вам принципиально не важен вебкит, то лучше добавить к init-repository еще и ключ --no-webkit, таким образом вы избавите себя от длительного ожидания «когда же эта жирная зараза скачается» и от вопросов типа «почему же эта жирная зараза не собирается».
Спасибо за совет. Сейчас добавлю в статью.
Как там со статической линковкой? Все так же надо пересобирать весь qt чтоб воспользоваться?
А вы где-то видите прекомпиленные бинари?
Я про винду. Динамические имеются, если порыться, а статических — нет.

Просто под винду собирать в динамическом варианте смысла особо нет…
эээ, где они имеются? в репе? там только сорцы. Как хотите так и собирайте (хотя не уверен что статический линковка сейчас работает). Или вы хотите чтобы стат. линковка работала без сборки стат. библиотек? Так не бывает, все равно собрать то надо в начале.

Правда смысла в статике (если не идет борьба за объем на жестком диске) я особого не вижу.
Да не в репе, а вот тут: qt.nokia.com/downloads/downloads#qt-lib

Проблема в том, что там не распространяются почему то статические либы.

А для чего нужно — да для дистрибьюции. Один файлик гораздо проще запустить, чем кучу либ вдобавок ещё не потерять по пути.
Ну во-первых по этой ссылке Qt4, а обсуждение идет про Qt5 (для которого нет бинарей прекомпиленных, вернее есть, но неофициальные).

Во-вторых, статическая линковка вещь неоднозначная и никто до сих пор особо не понял можно ли статик линковку использовать с lgpl (явно это не запрещается, но некоторые юристы говорят что прикопаться можно).

В-третьих, используя статик линковку мы лишаем себя удовольствия плагинов. Их надо вкомпиливать туда же и не все плагины это поддерживают. А из тех что поддерживают непонятно какие нужны конкретному юзеру, а какие нет. То есть либо делать 100500 прекомпиленных сборок (со всеми возможными комбинациями плагинов), либо делать одну боооольшую.

В-четвертых, Qt5 завязан на декларатив, который в свою очередь завязан на qml-плагины, которые насколько мне известно не поддерживают статик линковку (сам правда не пробовал так извращаться).

Используйте инсталлер и будет вам счастье :D
qml в принципе можно статически слинковывать, но только через большую жопу :)
Статическая линковка имеет смысл на платформах, где без неё не пускают в маркет(я про iOS). На винде в ней смысла НЕТ!
хм, можно? Я про те плагины, которые дергаются через qmldir.
Хм… с ними сомневаюсь, но их вроде можно в ресурсы засунуть. Хотя .so файл в ресурсах — это наверное дикость и не взлетит.
ну я в основном про них и говорил, когда говорил про qml-плагины. В них по сути вся соль использования qml.
А so файл в ресурсах скорее всего не подцепится, хотя я такое не пробовал
Он же вроде через вызов dlopen цепляется? Если да, то не зацепится.
Скорее всего, туда не лез никогда, не было надобности
Ну судя потому, что порт под iOS находится в официальной ветке, смею предположить, что статическая линковка вместе с плагинами там всё же реализована.
эээ, я что то пропустил? что то не помню чтобы они вмерживали
да это ж не порт, это так, баловство. Там даже в ридми написано:
This is a proof-of-concept implemenation of a UIKit based QPA plugin. Note that this is completely unsupported, and it is probable that many parts of QtCore and other Qt Modules don't work properly. There have no tests been run whatsoever.
Я всё же имел ввиду не сам порт, а именно возможность статической линковки. И таки да, Qt именно что собирается статически, это можно увидеть в ридми, на 25-й строке, там, где передаются ключи конфигурации сборки, один из них "-static", следовательно линкуется статически. А также мы видели демки запущенных на ios qml-приложений, которые по крайней мере используют плагины поддержки различных форматов изображений. Вывод — под iOS можно собирать статические приложения вместе с плагинами. Другой вывод — скорее всего нельзя отлаживать/использовать файлы qmldir (скорее всегоне будут импортироваться необходимые креатору данные для отладки, да и из креатора собрать приложения врядли можно...), а значит под iOS можно только собирать готовое и отлаженное под другие платформы приложения.
есть подозрение что не смотря на статик сборку плагины идут динамически. И потом не факт что то что показано было собиралось именно этими параметрами.
Ну фиг его знает… Попробовать надо бы чтоли…
А что мешает либу прилинковать статически а qmldir уже положить в ресурсы?
я надеюсь что у разрабов еще остался здравый смысл. Плюс гложут меня сомнения. По идее лоадер при чтении qmldir грузит либу либо из текущей+пафы, либо из прописанного в qmldir файла. Как тут быть со статиком — хз.
В любом случае, я верю в здравый смысл :D
Хм, не назвал бы это полноценным портом, так демонстрация. Но порт из неё может вырасти в будущем.
Вообще т мне для создания инсталлера нужно) Да, знаю, что есть специальные инсталляторы вроде Inno Setup-ов и прочего, но мне слишком уж кастомный инсталлер нужен.

Инсталлер для инсталлера, это уж слишком.
почему бы не попробовать bitrock? он шибко кастомизируем
Делается в качестве хобби, а битрок платен. К тому ж идеологически хочется сделать с применением оупен соурсных технологий.
ну если хобби, то наверно опен сорс? если опен сорс, то битрок — бесплатен (для этого надо на сайте найти куда им по этому поводу писать и написать письмо — пришлют лицензию)
Да нет… Не обязательно. Конечно посмотрим, но маловероятно)

Да и плюс таки идеологический вопрос. Могу же я их придерживаться в собственном хобби? :)
Ну так пользуйте инсталлер который идёт в поставке с Qt.
Ага, полностью анимированные кастомные кнопки, кастомный вид полей ввода, чекбоксов, скроллбоксов, прогресс баров, бекграундная музыка… Какой нить инсталлер все это умеет, причем так же просто, как я все это сделаю в qt? Мне проще статически слинковать экзешник с qt чем мучать свой мозг с костылями для всего этого для других инсталлеров.

Это вообще реврайт инсталлера, который изначально вовсе с помощью DirectDraw делался.
По поводу вебкита и его великолепной сборки. Самый оптимальный вариант это действительно забирать без вебкита (ключиком к init-repository). Сам вебкит не большой, а вот его экзамплы — мама не горюй. Вообщем и весит много и фиг соберешь новыми компилерами. После сборки кьюта без вебкита (кстати судя по всему опция --no-webkit при скачанном вебкит-модуле не работает и все равно пытается собрать) можно собрать вебкит из гита (вот тут неплохие рекомендации — wiki.qt-project.org/PhoneGap_for_Qt_5), который будет очень хорошо работать, да еще и радовать нас webkit2-фичами.
я бы не сказал что сам вебкит не большой
ну относительно экзамплов — не большой :D
А, еще из мелочей. Вместо такого префикса проще указать --developer-build (которому не нужен make install). Ну и с относительно недавнего времени заработал наконец-то нормальный префикс (у меня сейчас кьют спокойно живет в папке /usr/local/Trolltech/Qt-5.0.0, что раньше было близко к невозможному). Правда не уверен что shadow-build починили. Он тоже был недоступен раньше, но с тех пор я им не интересовался.
А как же теперь определять платформу на этапе компиляции?
эта документация не актуальная, но os должны остаться, да.
OS осталась, но это немного другой уровень.
наш ответ чемберлену :D замена XServer. На словах — мегакруто, на деле — очень сыро пока
> очень сыро пока
Сам протокол или пример композитора от Nokia?
Протокол не щупал, но он пока куцый, а пример композитора то Нокии ещё сырой.
Фигасе. Даже не знал, что они такое пилят.
ну это не нокия пилит, это отдельная разработка. В Qt просто поддержка
Да ну я как-то всё меньше и меньше ассоциирую Qt с Nokia.
ок, перефразирую. Wayland — сторонняя разработка, ничего общего с Qt не имеющая. В Qt5 просто добавлена его поддержка.
Я понял с первого раза, спасибо. Просто к слову упомянул про ассоциации.
— Hey, Vasquez, have you ever been mistaken for a man?
— No, have you?
>>определение платформы будет вестиcь в рантайме
Но зачем? Или кто-то знает, как собрать бинарник, одинаково запускающийся на разных платформах?
Наверное, для того, чтобы можно было сделать бинарники, работающие и с X11, и с Wayland. При выполнении определяется только «оконная система» (Q_WS_...), а ОС (Q_OS_...), как и раньше, при компиляции.
А я вот хочу, чтобы при запуске через VNC или какой-то убер сетевой протокол использовалась другая оконная система, а не Q_WS_WAYLAND или Q_WS_X11, что мне делать?
Да, придётся заменять Q_WS_* на Q_OS_*…
Спасибо за обзор!
Скачать из git без веба не получится таким макаром:
perl init-repository --no-webkit
Теперь нужно писать
perl init-repository --module-subset=default,-qtwebengine
Sign up to leave a comment.

Articles