Seite 1 von 1

Welches Version von QT braucht meine Anwendung?

Verfasst: 12. August 2004 17:36
von Lykurg
Hallo,

wenn ich jetzt ein Programm geschirieben habe, würde ich dann gerne wissen, welches QT dafür benötigt wird. Ich könnt jetzt den ganzen Code von Hand durchgehen und in den Manuals schauen, ab wann die Funktionen eingebaut wurden, um so die Mindestanforderung zu bekommen.

Geht das nicht auch mit irgendeinem Programm??

Danke,
Lykurg

Verfasst: 12. August 2004 18:43
von miketech
Hi,

ich würde sagen, dass wenn Dein Programm mit der bei Dir installierten Version von Qt kompiliert wurde, sollte auf dem System, wo es laufen soll auch keine frühere Version installiert sein. Im Grunde kannst Du in keine Richtungen volle Kompatibilität garantieren. Z.B. werden einige Anwendungen, die jetzt mit Qt 3 kompiliert werden aufgrund der enormen Umstellungen in Qt 4 nicht mehr mit Qt 4 laufen. Andersrum laufen die Anwendungen auch nicht mehr mit Qt 2.x.

Über ein Tool, was wenigstens so grob den Rahmen aufgrund der verwendeten Funktionen angibt, in dem Kompatibilität bestehen bleiben sollte weiß ich nicht.

Alternativ sollte die Möglichkeit bestehen Qt statisch zu linken, dann ist die Anwendung zwar größer, aber dafür hast Du mit dem Thema, wer welche Version installiert hat keine Probleme mehr.

Gruß

Mike

Verfasst: 12. August 2004 19:00
von miketech
Was mir grad noch eingefallen ist:

Es gibt immer Änderungen (neue Features) bei Versionsprüngen von z.B. 3.1 auf 3.2, oder 3.0 auf 3.1. Bei 3.1.0 auf 3.1.1 usw. handelt es sich immer nur um Bugfixes. D.h. Du kannst im Grunde sagen: Wenn Deine Anwendung mit Qt 3.2 kompiliert wurde, läuft sie überall wo Qt 3.2.x installiert ist.

Hast Du die Anwendung mit Qt 3.2 installiert und möchtest sie auf einem System mit Qt 3.1.x oder 3.3.x laufen lassen, wirds denke ich schon schwieriger. Mit etwas Glück läufts, eventuell aber eben nicht. Das kannst Du ja dann ausprobieren, wenn Du selbst upgradest. Ansonsten eben eine neue Version rausbringen. Ich würde mich auf jeden Fall nicht darauf verlassen, dass die Anwendung mit älteren Versionen noch läuft, schließlich wurde sie ja dynamisch gelinkt, da kann imho bestimmt was schiefgehen :)

Gruß

Mike

Verfasst: 12. August 2004 19:07
von Lykurg
Danke für die schnelle und ausführliche Antwort.
Noch eine Nachfrage: Wenn ich statisch linke, ist dann die Anwendung auch auf Systemen läuffähig, die überhaupt kein Qt haben? Doch schon, oder? Und dann auch auf allen Platformen?

Lykurg

Verfasst: 12. August 2004 19:15
von miketech
Hi,

soweit ich weiß, ist dann eine Qt-Installation nicht nötig. Allerdings musst Du das Programm weiterhin für jede Plattform extra compilen und linken. Wenn Du also unter Linux eine Qt-Anwendung statisch gelinkt hast, läuft die auch weiterhin nur unter Linux, nicht z.B. unter Windows. Selbiges umgekehrt.

Selbst habe ich das statische Linken jedoch noch nicht ausprobiert. Kannst ja später posten, obs funktioniert hat :)


Gruß

Mike

Verfasst: 12. August 2004 21:58
von jaegermeister
Hi
Wenn du das Programm öffentlcih zur Verfügung stellen willst, soltest du immer statisch Linken. Das ist wie bei Borland C++ oder ähnlichen.
Du weißt nie ob die Bibliotheken immer vorhanden sind.
Wenn das Programm nur bei dir ist hast du dir Bibliotheken ja.
Man kann auch nach einem Update noch ältere verwenden glaub ich.
Bin mir aber nicht mehr ganz sicher.
Mfg jaegermeister