LINUX.ORG.RU

QtProtobuf 0.2.0

 , , , ,


0

1

Выпущена новая версия библиотеки QtProtobuf.

QtProtobuf - это свободная библиотека, выпускаемая по лицензии MIT. С ее помощью вы можете с легкостью использовать Google Protocol Buffers и gRPC в вашем проекте qt.

Изменения:

  • Функция генерации переименована из generate_qtprotobuf в qtprotobuf_generate.
  • Добавлена базовая поддержка qmake.
  • Изменены механизмы регистрации сгенерированных типов.
  • Добавлена генерация deb-пакетов на базе CPack.
  • Добавлена поддержка сборки статических библиотек.
  • Добавлена мульти- и унифайловая генерация в директории, соответствующая пакетам protobuf.
  • Добавлена аннотация (комментирование) генерированного кода.
  • Исправлены ошибки.

>>> Подробности

Функция генерации переименована из generate_qtprotobuf в qtprotobuf_generate

про ну-теперь-венде-точно-капец уже шутили? :)

pihter ★★★ ()

Захожу на сайт, читаю:

Qt 5.12.4 or higher

Автор действительно использует какую-то новую мульку, которая появилась в 5.12.4, или его изнасиловали веб-макакичи, у которых всё всегда должно быть последнее?

hobbit ★★★★★ ()

Самое главное не написали: на хрена вообще нужна эта библиотека

anonymous ()

Использую Qt и protobuf в одном проекте, но так и не смог сходу понять про что сабж и нужен ли. Readme ниачем.

anonymous ()
Ответ на: комментарий от hobbit

5.12.4
всё всегда должно быть последнее

Ты серьезно или это был сарказм такой? )

Последняя версия: 5.14.1 (27 января 2020); 5.12.6 (13 ноября 2019)

Gonzo ★★★★★ ()
Ответ на: комментарий от Gonzo

Две подверсии назад — это, считай, почти последнее.

Я в своих проектах и Qt 4.8 использую, причём объём условной компиляции для одновременной совместимости с Qt4 и Qt5 в большинстве случаев ничтожен, сколько бы неосиляторы не орали обратное. В этом проекте, например, пострадал только QStandardPaths, который вынесли из QDesktopServices. Это ничтожные доли процента от кодовой базы.

А уж встретить какую-нибудь Qt 5.5 — это вообще рядовое событие.

hobbit ★★★★★ ()
Последнее исправление: hobbit (всего исправлений: 2)
Ответ на: комментарий от anonymous

Использую Qt и protobuf в одном проекте, но так и не смог сходу понять про что сабж и нужен ли. Readme ниачем.

Использовал Qt и protobuf в одном проекте. Так-то всё работало, но код был сильно громоздкий из-за необходимости перехода от кутешных типов к std::* и назад. Если сабж это упрощает — отлично.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Понял, спасибо за разъяснение. Для меня кодинг - темный лес просто.

Gonzo ★★★★★ ()
Ответ на: комментарий от hobbit

Если речь про fromStdString/toStdString, то фиг бы с ним, таких точек немного. Но тут что-то сложнее нагородили, с QtProtobuf::QGrpcHttp2Channel и QtProtobuf::qRegisterProtobufTypes (метаобъектная система?).

Алексей! Имхо, проекту пойдет на пользу, если будет туториал или хотя бы краткое описание в README, что можно сделать и как это выглядит. Examples - это следующий уровень, в них надо вникать.

anonymous ()
Ответ на: комментарий от Gonzo

Во имя справедливости — таки есть случаи, где отличия Qt4 и Qt5 существенны (переход от QtWebKit к QtWebEngine, например). Но они не во всех проектах нужны.

hobbit ★★★★★ ()

На кой хрен? Без этой библиотеки я не могу использовать protobuf в своем Qt проекте?

Reset ★★★★★ ()
Ответ на: комментарий от hobbit

Автор действительно использует какую-то новую мульку, которая появилась в 5.12.4, или его изнасиловали веб-макакичи, у которых всё всегда должно быть последнее?

Откуда столько агрессии?

Человек завязался на такую высокую версию Qt, потому что исправил критический баг в самом Qt, который видимо делал невозможным работу его программы.

См.
https://github.com/semlanik/qtprotobuf/commit/0271a4edd7062bf2aea6117cd4bb1af03d59896c
https://bugreports.qt.io/browse/QTBUG-74765

EXL ★★★★★ ()
Ответ на: комментарий от pihter

Есть те кто использовали библиотеку версии 0.1. Обычно в ченж логах полезно написать об изменении API.

semlanik ()
Ответ на: комментарий от hobbit

Как написали выше, я поправил несколько баг в Qt, одна из них был крэш. Отсюда и версии.

ЗЫ: если есть желание и время попробовать собрать код с 4.8 я только за.

semlanik ()
Последнее исправление: semlanik (всего исправлений: 2)
Ответ на: комментарий от Reset

Можете продолжать писать на ассемблере, можете не использовать никакие библиотеки от слова совсем. Я никого не принуждаю, честное слово.

semlanik ()
Ответ на: комментарий от semlanik

Да я понимаю, просто это традиционная шутка такая

pihter ★★★ ()
Ответ на: комментарий от semlanik

Как написали выше, я поправил несколько баг в Qt, одна из них был крэш

Отлично!

hobbit ★★★★★ ()
Ответ на: комментарий от totik

Ну да, через макросы.

Вопрос был к тому, что в Qt6 это может превратиться в тыкву?

hobbit ★★★★★ ()

Чем оно лучше встроенной поддержки CBOR?

anonymous ()
Ответ на: комментарий от EXL

Да никакой агрессии. Это была одна из гипотез (не первая). Хорошо, что она не подтвердилась.

hobbit ★★★★★ ()
Ответ на: комментарий от anonymous

Ничем, просто другой формат сериализации. Тут наверное вопрос не ко мне, а к Google зачем они сделали protobuf. Мы только сделали, как мне кажется, удобный инструмент интеграции с Qt.

semlanik ()

Очень круто, особенно если сумели реализовать http/2 и прочий транспорт «нативно» для qt.

В gRPC относительно коряво интегрироваться с другими event loops, т.к. он работает только со своим, и в него постить произвольные таски нельзя.

И ещё они плюсы запрещали в корной части 😶

anonymous ()
Ответ на: комментарий от semlanik

Спасибо за вашу работу. Желаю вам успехов в развитии библиотеки.

trex6 ★★★★★ ()
Ответ на: комментарий от anonymous

Серверную часть еще даже не начинали, но клиенская часть сделана целиком на QNetworkAccessManager. Серверного решения Qt пока не предложили, но скорее всего будем велосипедить, что-то свое, потому что QtHttpServer развивается крайне медленно и поддержки HTTP/2 там ждать не скоро.

semlanik ()
Ответ на: комментарий от hobbit

скорее всего, автор просто не тестировал с Qt версиями ниже

anonymous ()
Ответ на: комментарий от semlanik

скорее всего будем велосипедить, что-то свое, потому что QtHttpServer развивается крайне медленно и поддержки HTTP/2 там ждать не скоро.

А не хотите в таком случае предложить им патчи для QtHttpServer, сразу убив нескольких зайцев?

Дело хозяйское, разумеется. Это более трудный путь, чем велосипедить, не спорю.

hobbit ★★★★★ ()
Ответ на: комментарий от hobbit

Тоже долго мучался из-за этого. Эту проблему уже решил, но так и не смог ещё собрать все

chiterelk ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.