Hallo zusammen, Ich arbeite mich im Moment in QT ein, funktioniert auch ganz gut soweit. Nun versuche ich momentan mein Programm static zu linken, dh ich will keine extenen dll's verwenden (die qtguid4.dll hat schon ~ 150Mb), schaff es aber nicht. Ich habe schon diverse Anleitungen versucht aber bin nicht weiter gekommen, kann mir jemand von euch weiter helfen ? Ich verwende das QT SDK 1.1.1 für Windows mit QTCreator und QTSource 4.7.3 Weiß jemand die es in Zukunft mit QT Lizenzen aussieht? Nokia hat ja QT abgegeben, bleibt in der hinsicht alles wie es war ? Grüße Andi
:
Verschoben durch User
Andi schrieb: > Nun versuche ich momentan mein Programm static zu linken, dh ich will > keine extenen dll's verwenden (die qtguid4.dll hat schon ~ 150Mb), Das ist die Debug-Version. Nimm doch die ohne d am Schluß. Die macht das selbe, aber ohne Debug-Symbole. > schaff es aber nicht. > Ich habe schon diverse Anleitungen versucht aber bin nicht weiter > gekommen, kann mir jemand von euch weiter helfen ? Um Qt statisch zu linken, brauchst du erstmal eine statische Version von Qt. Ob die aktuell dabei ist, weiß ich nicht. Falls nicht, wirst du dir eine statische Qt selbst bauen müssen. > Weiß jemand die es in Zukunft mit QT Lizenzen aussieht? Nokia hat ja QT > abgegeben, bleibt in der hinsicht alles wie es war ? Bisher hat sich da wohl nix geändert. Ob überhaupt schon jemand wirklich weiß, was der Käufer damit vor hat? Viel wird sich aber nicht ändern können, denn für eine Lizenzänderung müßte man vorher von jedem Entwickler die Erlaubnis einholen, auch von denen, die z.B. nichttriviale Patches eingeführt haben. Außerdem kann man nicht nachträglich die Lizenz schon veröffentlichter Versionen ändern. Es könnte sich also höchtens für nachfolgende Versionen was ändern. PS: Beachte auch, daß du bei Verwendung der LGPL dein Programm nur dann closed-source machen darfst, wenn du nicht statisch linkst!
Andi schrieb: > Weiß jemand die es in Zukunft mit QT Lizenzen aussieht? Nokia hat ja QT > abgegeben, bleibt in der hinsicht alles wie es war ? Lediglich der Vertrieb wurde abgegeben.
Andi schrieb: > Nun versuche ich momentan mein Programm static zu linken Geht im Prinzip, ABER: du darfst die QT dann nicht mehr "einfach so" mit Nicht-OpenSource-Software linken. d.H. entweder du linkst dynamisch gegen die DLL, dann kann deine Software lizensiert sein wie sie will, oder du linkst statisch und bietest den Sourcecode z.B. unter GPL mit an. oder du linkst statisch, und bietest zumindest die vorkompilierten Object-Files deines Programmes mit an. oder du kaufst dir eine entsprechende QT-Lizenz. (ggfs. mit Zeitreise, die hättest du dir eigentlich schon vor Beginn der Implementierung kaufen müssen) Sinn bei der (L)GPL lizensierten QT ist immmer: Der Endanwender muss die Möglichkeit behalten, dein Programm mit einer modifizierten QT-Version laufen zu lassen. Also entweder DLL austauschen können oder gegen geänderte QT-Version statisch linken können.
hallo, nochmal für mich zum mit schreiben ;-). Ich habe ein programm in Qt geschrieben mit der freien Version 4.7x Der Sourcecode soll nicht veröffentlicht werden. So wie ich dass verstanden habe kann ich meine Software verkaufen, auch wenn ich keine Qt Lizenz gekauft habe. Ich darf aber die einzelnen Qt dlls nur statisch linken. Ist das so richtig oder muss ich noch etwas beachten? Warum erstellt man so eine Lizenz, denn die Meisten Programme linken ja nur dynamisch? Somit ist ja fast keiner dazu gezwungen sich eine Lizenz zu kaufen. Danke
sorry ... schreibfehler Martin J. schrieb: > So wie ich dass verstanden habe kann ich meine Software verkaufen, auch > wenn ich keine Qt Lizenz gekauft habe. Ich darf aber die einzelnen Qt > dlls nur statisch linken. --> Ich darf aber die einzelnen Qt dlls nur dynamisch linken.
Martin J. schrieb: > Ist das so richtig oder muss ich noch etwas beachten? Im Prinzip ja. > Warum erstellt man so eine Lizenz, denn die Meisten Programme linken ja > nur dynamisch? Das dynamische Linken hat einen anderen Hintergrund. Die LGPL sieht vor, daß man LGPL-Komponenten austauschen können muß. Bei einem dynamisch gelinkten Programm geht das einfach durch Ersetzen der DLL. Statisches Linken wäre im Prinzip auch erlaubt, wenn es eine einfache Möglichkeit gäbe, die LGPL-Teile auszutauschen. Aber in der Regel ist das eben nicht der Fall. > Somit ist ja fast keiner dazu gezwungen sich eine Lizenz zu kaufen. Früher war Qt unter GPL und QPL. Erst später kam dann die LGPL und eine nichtkommerzielle Windows-Version. Die Hintergründe dieser Umlizenzierung kenne ich aber auch nicht. Prinzipell muß man sich eine Lizenz kaufen, wenn man professionellen Support will oder wenn man Qt selbst ändern möchte, ohne die Änderungen unter LGPL veröffentlichen zu müssen. Oder eben wenn man statisch linken möchte.
Martin J. schrieb: > Ich habe ein programm in Qt geschrieben mit der freien Version 4.7x > Der Sourcecode soll nicht veröffentlicht werden. Musst du auch nicht. Dein Benutzer muss nur in der Lage sein, sich mit neueren Qt Versionen sich seine Applikation theoretisch neu zu bauen. Dazu braucht er den Source Code nicht, wohl aber die Objekt Files. Allerdings ist das alles mehr theoretischer Natur. Die wenigsten Anwender können mit dem Begriff 'Linken' überhaupt irgendetwas anfangen und werden sich hüten, da irgendetwas zu tun. Wenn da was nicht funktioniert, kriegst du das als Fehlermeldung auf den Tisch. Wenn du deine Objekt-Files also irgendwo (Web?, CD?, auf Anfrage?) zur Verfügung stellst, müsste das die Anforderungen der LGPL schon erfüllen. Sinn der LGPL ist es ja nicht, dass du nichts mehr verkaufen kannst ohne gleich die Hosen komplett runterlassen zu müssen. Und statisches Linken hat auch so seine Vorteile für den Benutzer. Eben weil alles in einem EXE ist.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.