Hi,
sorry, ich konnte nicht widerstehen, so eine Steilvorlage muss man einfach mal zerpflücken!
On Monday 23 January 2012 14:19:42 Roman Geber wrote:
On 01/23/2012 11:48 AM, Stefan Majewsky wrote:
Qt ist ein freies plattformübergreifendes Framework. Sogar mehr als Boost: Mit letzterem hast du keine GUI und m.E.n. auch kein TCP/IP etc.
Hi. Das ist leider so nicht ganz richtig. Das Problem liegt hier vor allem im Deployment ohne Lizenz. Ich zitiere aus einem entsprechenden Foren Eintrag:
Autsch. Foren. Wenn Du das öfter machst, kauf Dir eine Packung Salz: zu jedem Forenbeitrag brauchst Du mindestens eine Prise. ;-)
Also erstmal: ohne Lizenz (Latein: Erlaubnis, Amtsdeutsch: einseitiger Vertrag) darfst Du nur Sachen weitergeben, deren Urheberrecht abgelaufen ist. Software ist noch nicht so alt (soweit mir bekannt gibt es keinen Autor bedeutender Software, der vor 1942 gestorben ist). Und Privatkopie gibt es bei Software nicht.
Selbst bei Public Domain gibt der Autor (nach deutschem Recht) nur jedermann ein Nutzungsrecht, also eine Lizenz. (IANAL)
Wenn Du ohne Lizenz verbreitest machst Du Dich strafbar. ;-)
Den meisten von meinem Code darfst Du unter GPL verbreiten, Qt unter LGPL und Boost unter der Boost-Lizenz (eine Variante der 2-clause BSD).
Also: bitte neu formulieren. Was genau wolltest Du ausdrücken?
" Distributing Qt with X-Plane plugins is a huge pain in the a##.
Nur das erste Mal bzw. jedesmal wenn man einen Newbie mit schlechter Laune anleiten muss.
I do it with the CRJ, as I use QtCore, QtGui and QtOpenGL all over it. Getting the distribution to work on Mac OSX was almost a week of research, trying and failing.
8 Stunden:
4 Stunden um den Mac zu installieren, XCode zu googeln, runterladen, installieren 1 Stunde um die verdammte Shell zu finden 2 Stunden Qt aus Sourcen bauen (keine Ahnung ob es wirklich so lang war: im Vordergrund lief eine DVD - der Mac ist ein verdammt guter DVD-Player!!) 20min Sourcen synchronisieren, kompilieren 20min Qt-Doku lesen und macdeployqt finden 10min mit macdeployqt spielen und ein dmg bauen 10min bei einem Bekannten ausprobieren dass es tatsächlich geklappt hat
With Windows it's relatively easy, with
Übersetzt: leg' die DLL in das selbe Verzeichnis wie die EXE - das als "relatively easy" zu bezeichnen ist ein viel zu schwierig klingender Ausdruck!
Linux it's easy once you understand the concept of rpath.
Hmm. RPath, never cared for that stuff myself.
Wie schwer kann es sein ein Wrapper-Script zu bauen?
Abgesehen davon bringt z.B. Ubuntu ein aktuelles Qt mit - da braucht man gar nix machen. Wenn man nicht (wie ich) darauf besteht die neuesten Features zu benutzen, dann geht auch das Qt in Debian/stable.
So, yes you can of course use Qt in the plugin, once you wrapped yourself around the distribution process. If there is sufficient interest, I might write a HOWTO on this, but I think I need a cold winters' night for this.
http://silmor.de/qtstuff.distallshared.php
Das habe ich geschrieben nachdem der hundertste Newbie die selbe Frage gestellt hat.
The easier way is to use libraries that are closer to the C++ standard,
Was?
Ich habe noch nie vorher Bibliotheken gesehen, die sich so gut an den Standard halten wie Qt. Qt spielt in der Hinsicht in der selben Liga wie Boost.
and that is everything offered by boost. The distribution for boost is easier, since you can link everything statically. With Qt you are forced to link dynamically, unless you want to spent $5000 on a commercial Qt license."
Wunderbar misinformiert.
Erstmal: Du kannst statisch linken, wenn:
a) Dein Programm mit Source kommt, oder b) Du die Object-Files mitlieferst mit denen man es neu linken kann
Es hat auch den Nachteil dass ein paar Funktionen schwieriger zu nutzen sind (nicht nur in Qt, sondern auch in der libc).
Dann: dynamisch linken und verpacken geht einfacher als man glaubt. Man muss nur bereit sein sich mit der jeweiligen Platform etwas zu befassen.
Bei Boost und STL liegen die Stolperfallen woanders, wo Qt wieder punkten kann (Stichwort Binärkompatibilität).
Quelle: http://forums.x-plane.org/index.php?showtopic=48012&st=70 http://forums.x-plane.org/index.php?showtopic=48012&st=70#80
Das Problem hier ist einfach, dass zwar prinzipiell alles moeglich ist, aber gewisse technische Vorteile der komerziellen Version vorbehalten bleiben.
Interessante Aussage, wenn man bedenkt dass die offene und die kommerzielle Version exakt identisch sind. ;-)
Ein wahrhaft freies Framework hat das Problem nicht (Was Qt jetzt nicht schlecht machen soll!)
Was ist bei Dir "wahrhaft frei"?
Bei mir ist es ein Framework das unter der GPLv3 kommt. Nix Kommerzware. ;-)
Konrad