Welches Version von QT braucht meine Anwendung?

Alles rund um die Programmierung mit Qt
Antworten
Lykurg
Beiträge: 30
Registriert: 9. August 2004 17:30

Welches Version von QT braucht meine Anwendung?

Beitrag 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
miketech
Beiträge: 125
Registriert: 3. August 2004 11:19

Beitrag 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
miketech
Beiträge: 125
Registriert: 3. August 2004 11:19

Beitrag 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
Lykurg
Beiträge: 30
Registriert: 9. August 2004 17:30

Beitrag 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
miketech
Beiträge: 125
Registriert: 3. August 2004 11:19

Beitrag 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
jaegermeister
Beiträge: 70
Registriert: 11. August 2004 07:44
Wohnort: Bergen auf Rügen
Kontaktdaten:

Beitrag 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
Wie könnten ja wenn wir wollten, aber wie wollen ja nicht.
Antworten