Russian Qt Forum

Qt => Общие вопросы => Тема начата: Dimchansky от Январь 10, 2007, 22:15



Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 10, 2007, 22:15
У кого-нибудь получилось под VS .NET 2003 собрать D-Bus? У меня при билде самой либы WinDBus вываливается ошибка на 36%.


Название: [Qt 4.2.2] D-Bus
Отправлено: Dendy от Январь 11, 2007, 05:23
Етот модуль только для Юникса. По-моему, в описании достаточно понятно написано.

Код:
The QtDBus module is a Unix-only library that you can use to make Inter-Process Communication using the D-BUS protocol.


Название: [Qt 4.2.2] D-Bus
Отправлено: ElderOrb от Январь 11, 2007, 10:49
А между тем есть проект по портированию dbus под win32 и даже какие-то снапшоты на эту тему на sourceforge.net лежат. Интересно, при наличии dbus for win32 появится ли возможность использовать QtDBus?


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 11, 2007, 11:14
Цитата: "Dendy"
Етот модуль только для Юникса. По-моему, в описании достаточно понятно написано.

Код:
The QtDBus module is a Unix-only library that you can use to make Inter-Process Communication using the D-BUS protocol.


Тем не менее, есть порт под Windows (http://sourceforge.net/projects/windbus).
Есть даже страница, описывающая компиляцию D-Bus под Windows с помощью VS2005 и последующйю компиляцию QtDBus (http://www.kdelibs.com/wiki/index.php/Building_KDElibs_4_using_MS_Visual_Studio).
К сожалению, VS2005 у меня нету.


Название: [Qt 4.2.2] D-Bus
Отправлено: SLiDER от Январь 11, 2007, 11:21
Я перед новым годом благополучно собрал снапшот winDBus ( http://sourceforge.net/projects/windbus ) на 2005 VS. И похоже он даже работает, проходит ~80% тестов, и QDbus собрался с ним без проблем, но, однако, работать отказался на отрез, почему, не проверял, времени уже не было, отложил на потом. Так что не все так плохо как говорит Dendy  :D


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 11, 2007, 11:26
Цитата: "SLiDER"
Я перед новым годом благополучно собрал снапшот winDBus ( http://sourceforge.net/projects/windbus ) на 2005 VS. И похоже он даже работает, проходит ~80% тестов, и QDbus собрался с ним без проблем, но, однако, работать отказался на отрез, почему, не проверял, времени уже не было, отложил на потом. Так что не все так плохо как говорит Dendy  :D


Что ж. Подождём, не к спеху. :)

P.S.:
Я в интеренете нашёл, что под VS 2003 winDBus не компилится, там какие-то навороты, которые компилятор не поддерживает..


Название: [Qt 4.2.2] D-Bus
Отправлено: Dendy от Январь 11, 2007, 12:30
Не знал, не знал... Но одно уж ясно точно. Если механизм возможен на винде - он должен реализовьІваться самой Qt, а не третесторонними разработчиками. Будем надеяться на появление оного в следующих минор-рилизах. Может Qt 4.3?


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 11, 2007, 12:46
Цитата: "Dendy"
Не знал, не знал... Но одно уж ясно точно. Если механизм возможен на винде - он должен реализовьІваться самой Qt, а не третесторонними разработчиками. Будем надеяться на появление оного в следующих минор-рилизах. Может Qt 4.3?


В Unix D-Bus тоже собирается из проекта freedesktop.org (http://www.freedesktop.org/wiki/). Его 4 года разрабатывали. Т.е. я сомневаюсь, что троли перепишут его с нуля, да и нету смысла. Т.е. D-Bus это просто как backend для Qt.
Почему не третьесторонними?
Ведь многие драйвера (тех же баз данных) при сборке самой Qt аналогично могут быть от третьих производителей, а у самой Qt их нет.
Т.е. QtDBus в будущем долже быть одним и тем же для Unix и Windows, а использовать они будут либу от freedesktop.org.


Название: [Qt 4.2.2] D-Bus
Отправлено: Dendy от Январь 11, 2007, 13:00
Не путайте тёплое с мягким. Драйвера для баз данньІх делаются плагинами через стандартньІй интерфейс Qt Sql модуля. Их добавление/удаление не влияет на исходньІй код Qt и программьІ, использующей базу данньІх.

То, как собирается модуль D-Bus под винду - страшньІй грех:

Код:
cd %QTDIR%
patch -p0 < c:\svn\windbus\QtDBus-win32.patch


То-есть правка кода самой Qt!

Если Тролли заявили етот модуль на Юникс-платформах - значит они его поддерживают. Если находится в нём ошибка - они не надеясь ни на каких сторонних разработчиков сядут и оперативно исправят, ибо обязаньІ.

А после чел, писавший патч сядет и возьмётся за голову - пересматривать опять исправленньІй код, писать новьІй патч, срочно вьІкладьІвать. Ибо кто-то уже заюзал WinDBus в своём проекте, перешёл на новую версию Qt, а патч что-то не накладьІвается. Проект будет стоять, пока третьи лица не напишут патч? А могут ведь и не написать вообще. Править самому? Не предлагайте никому такой вариант - не так смотреть будут.

Прелесть Qt в том, что она разрабатьІвается, поддерживается и правится ОДНИМ разработчиком под все платформьІ. Цельно. Самодостаточно. Централизовано.

Приветствуются дополнения библиотеки сторонними класами, солюшенами. Но никак не правки. Ето в Suggestions and Bug-Reports.


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 11, 2007, 13:20
Цитата: "Dendy"
Не путайте тёплое с мягким. Драйвера для баз данньІх делаются плагинами через стандартньІй интерфейс Qt Sql модуля. Их добавление/удаление не влияет на исходньІй код Qt и программьІ, использующей базу данньІх.

То, как собирается модуль D-Bus под винду - страшньІй грех


Я согласен, что так, как это делается сейчас - это плохо и потому я выше написал, что "QtDBus в будущем долже быть одним и тем же для Unix и Windows, а использовать они будут либу от freedesktop.org."
Что касается сравнения с драйверами БД. Так и здесь D-Bus не должен влиять на исходный код Qt. То, что сейчас патчится всё - это действительно плохо. Должно быть так, как и с БД: есть либа D-Bus, тогда собирается QtDBus, а нету - не собирается.
Уверен, что всё, что они будут поддерживать - это только QtDBus, который будет использовать D-Bus от freedesktop.org.
Хотя.. надо спросить их об этом. Может они состругают что-то своё, но мне в это не верится.


Название: [Qt 4.2.2] D-Bus
Отправлено: SLiDER от Январь 11, 2007, 14:24
Полагаю что Trolltech станет официально поддерживать QDbus под windows не раньше чем указанный выше порт со всеми его патчами сольется с основной веткой разработчиков с freedesktop.org, у них в roadmap запланирован порт под винду в версии 1.2, притом, что текущий релиз имеет номер 1.0.2. Так что официальной поддержки придется подождать, а пока можно и так.  :D
З.Ы. Ребята из проекта winDBus все свои патчи отсылают Trolltech, так что не все так страшно.  :)


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 22, 2007, 03:42
Накатал небольшую статейку: Сборка QtDBus под Windows (http://dimchansky.googlepages.com/dbus)
Любой критике буду рад. :)


Название: [Qt 4.2.2] D-Bus
Отправлено: Dimchansky от Январь 23, 2007, 02:36
Нашёл в winDBus баг.
Обновил статью: Сборка QtDBus под Windows (http://dimchansky.googlepages.com/dbus).
Теперь сервис dbus-daemon.exe, запускается сам, если не был запущен, как это и задумывалось разработчиками.