Hallo!
Ich bin gerade dabei, mit QT für S60 Smartphones zu programmieren.
Ich will erreichen, dass die Prorgamme auf dem Telefon laufen, ohne
QT installieren zu müssen. Die Installation nimmt schon einige MB in
Anspruch, obwohl das Programm an sich sehr klein ist.
Gibt es die Möglichkeit, entweder die Benötigten Bibliotheken statisch
zu linken, oder nur die benötigten der Programminstallation beizulegen?
Wenn ja, wie?
QT Programme ohne QT Installation auf S60
Die statische Methode will nicht funktionieren.
Kann es sein, dass statisches Kompilieren von QT für S60 nicht
möglich ist?
Ich bin nach folgender Anleitung vorgegangen:
http://lizardo.wordpress.com/2009/07/29 ... k-on-linux
Mit dynamischen Linken funktioniert es einwandfrei. Nun hab ich vor
dem Ausführen von ./install_qt_s60.sh einfach im Script ganz unten
bei configure ein -static eingefügt. Es scheint aber keinen Unterschied
zu machen. Das Kompilieren ist (wie ohne static) in 5 Minuten durch.
Ich wollt es mal so probieren, die QtCore.dll und QtGui.dll ins selbe
verzeichnis, wie die ausführbare Datei zu legen. Ich bin mir jetzt aber
nicht sicher, wie ich es in der pro angeben soll.
Ich will nur erreichen, dass die QT Libs nicht auf dem Telefon installiert
sein müssen. Es nimmt einfach zu viel Platz weg. QtCore.dll und
QtGui.dll hinzuzufügen, damit könnte ich mich noch anfreunden. Wären
dann ca. 3MB. Aber ich krieg sie einfach nicht gelinkt. Der Kompiler
läuft durch, aber auf dem Telefon läuft die Anwendung nicht.
Entweder ein "Funktion nicht unterstützt", oder einfach gar nichts.
Und am Code ansich kann es nicht liegen, es funktioniert mit
installieren Libs.
Kann es sein, dass statisches Kompilieren von QT für S60 nicht
möglich ist?
Ich bin nach folgender Anleitung vorgegangen:
http://lizardo.wordpress.com/2009/07/29 ... k-on-linux
Mit dynamischen Linken funktioniert es einwandfrei. Nun hab ich vor
dem Ausführen von ./install_qt_s60.sh einfach im Script ganz unten
bei configure ein -static eingefügt. Es scheint aber keinen Unterschied
zu machen. Das Kompilieren ist (wie ohne static) in 5 Minuten durch.
Ich wollt es mal so probieren, die QtCore.dll und QtGui.dll ins selbe
verzeichnis, wie die ausführbare Datei zu legen. Ich bin mir jetzt aber
nicht sicher, wie ich es in der pro angeben soll.
Ich will nur erreichen, dass die QT Libs nicht auf dem Telefon installiert
sein müssen. Es nimmt einfach zu viel Platz weg. QtCore.dll und
QtGui.dll hinzuzufügen, damit könnte ich mich noch anfreunden. Wären
dann ca. 3MB. Aber ich krieg sie einfach nicht gelinkt. Der Kompiler
läuft durch, aber auf dem Telefon läuft die Anwendung nicht.
Entweder ein "Funktion nicht unterstützt", oder einfach gar nichts.
Und am Code ansich kann es nicht liegen, es funktioniert mit
installieren Libs.
Zuletzt geändert von mase am 12. August 2009 20:31, insgesamt 1-mal geändert.
Ich hab jetzt folgendes zu meinem pro hinzugefügt:
Die dlls werden auch in den selben Pfad, wie die exe kopiert.
Leider funktioniert es so nicht. Ausserdem, was wenn ich das
Programm nach c installiere?
Code: Alles auswählen
LIBS += -Le:\sys\bin -lQtCore -lQtGui
Leider funktioniert es so nicht. Ausserdem, was wenn ich das
Programm nach c installiere?
Vorweg einmal (ich bin jetzt nicht so der windows kenner):
Windows sucht dll's erst unter C:\Windows\System32 und dann im verzeichnis wo die exe liegt, also reicht es beim dynamischen linken, die files im selben verzeichnis liegen zu haben.
BTW: Statisch kompilieren
Windows sucht dll's erst unter C:\Windows\System32 und dann im verzeichnis wo die exe liegt, also reicht es beim dynamischen linken, die files im selben verzeichnis liegen zu haben.
BTW: Statisch kompilieren