Qt GPL-Version mit Visual Studio 6

By dose | April 29, 2007
Under: technical stuff, Uncategorized

Zum Entwickeln von Plattformunabhängigen GUIs gibt es mehrere Toolkits auf dem Markt, welche alle ihre Vor- und Nachteile haben.
In einem meiner vorherigen Blog-Einträge habe ich ja schon über die Vorzüge von GTK geschrieben.
Nichtsdestotrotz hat GTK auch einige Nachteile, u.A. zeichnet es alle seine Widgets selbst und man hat somit nich den Look&Feel der Zielplattform. Das war nur einer der Gründe, warum bei uns in der Firma beschlossen wurde, für diesen Zweck trotz entsprechender Lizenzkosten das QT-Toolkit der Firma Trolltech einzusetzen. Ein großer Nachteil von QT ist sicherlich, dass es leider C++ only ist, und damit keine schöne C-API bietet, so wie die WIN32 API, was das Programmieren damit natürlich etwas verkompliziert. Es soll allerdings nicht unerwähnt bleiben, dass es eine libqtc gibt, welche ein C-Binding für QT darstellt. Aufgrund des Designs von QT ist das Programmieren mittels des Bindings aber leider nicht wirklich so viel einfacher (vergleicht man es mit der relativ gut programmierbaren WIN32-API) und nachdem es sich um ein binding handelt hat man damit natürlich nur noch mehr overhead. Sonst läuft die Bibliothek jedoch ziemlich stabil und ist man bereit, für die Multiplattformfähigkeit etwas mehr Haupspeicher zu opfern (ca. 6 MB verschlingen alleine die DLLs!), ist es gegenüber speicherfressenden Java-basierenden Toolkits oder instabileren Toolkits wie WxWidgets immer noch eine gute Wahl.
Wie allgemein bekannt sein dürfte, gibt es auch eine GPL-Version des Toolkits. Nachdem man natürlich nicht die Katze im Sack kaufen will, kann man damit zuerst einmal nach Herzenslust damit programmieren und erst wenn man sein Produkt kommerziell vertreibt eine Lizenz kaufen. Die GPL-Version hat jedoch für die WIN32-Entwicklung einen entscheidenen Nachteil: Sie funktioniert standardmäßig nur mit dem MinGW environment, welches nicht nur fettere Executables produziert als der Microsoft C compiler, sondern auch keine komfortable IDE bietet, wie Visual Studio 6.0. Für kommerzielle Kunden wird natürlich eine visual Studio Integration angeboten. Allerdings wird auch hier neuerdings nur noch Visual Studio .NET unterstützt, welches für den praktischen Gebrauch meines Erachtens nach nicht zu gebrauchen ist.
Ich habe mir daher die Mühe gemacht, mehrere Patches zusammenzusuchen, die eine Integration in VS 6 ermöglichen und selber eine Workspace-Template gebaut und auch einige kleinere Sourcecode-Patches für QT geschrieben, damit das Erstellen von VS 6 Projekten reibungslos funktioniert.
Die einzelnen Patches aufzuzählen würde hier zuviel Platz einnehmen, sie sind aber in der Anleitung innerhalb des ZIP-Pakets beschrieben. In der Langanleitung steht, woher die ursprünglichen Patches sind und welche Teile davon verwendet wurden, bzw. welche Patches ovn mir hinzugefügt wurden. Nachdem das Ganze doch etwas komplexer ist, habe ich eine kleine Batchdatei geschrieben, die das Patches automatisch übernehmen sollte. Es werden die QT-Sources hierfür benötigt, man kann sich also auf eine mehrstündige Kompilierorgie gefasst machen (am besten über Nacht rennen lassen).
Das Paket gibt es hier.
Bei Fragen oder Anregungen einfach einen Kommetar hinterlassen (sollte jetzt endlich wieder funktionieren).

Leave a Comment

Name:

E-Mail :

Subscribe :
Website :

Comments :