Hallo,
vorab muss ich sagen, dass ich in der Linux Welt NEU bin, also verzeiht mir, wenn eine oder andere Frage für einige sehr trivial vorkommen
ich schreibe ein Applikation mit Qt Creator unter Ubuntu 11. kann ich jetzt ein Build bzw. Packet erstellen. (ähnlich wie Setup unter Windoff)
Ich habe eine grafische-Oberfläche mit ein paar Pixmaps (Qimage) darauf und mehrere Dialoge aus Qt4-Bibliotheck in meiner Applikation,
Die Applikation läuft auf mein Entwicklungssystem mit der IDE-Umgebung.
welche Bibliotheken muss ich auf Ziel-System haben?, und wie bekomme ich diese alle in eine "Setup"-ähnliche Datei. (unter Windows habe ich mit der Wise-Installer gemacht)
ich habe mit Qmake und Make probiert, aber diese erstellen eine Datei, die nur auf dem System läuft, wo IDE installiert ist.
hier http://www.qtwiki.de/wiki/Der_Weg_vom_f ... bian_Paket habe ich eine Anleitung für Debian gefunden, aber das hat auch nicht geholfen.
Danke
QT Applikation für Ubuntu /Debian erstellen
-
- Beiträge: 22
- Registriert: 1. Juni 2011 13:23
Re: QT Applikation für Ubuntu /Debian erstellen
1. Du linkst ja dein programm irgendwie, also solltest deine Abhängigkeiten schon grob kennen
2. falls es vergessen hasst ldd bzw readelf oder sowas drueber laufen lassen. Das zeigt dir die Direkten, quasi psuedostatisch zugelinkten Libraries. richtig dynamische Abhaengigkeiten (dlopen) bekommst damit natuerlich nicht, aber die solltest eh kennen, weil die ja expliziet selber anziehst. Also abhaengigkeiten von der runtime, den qtlibs usw kriegst damit schon raus.
http://de.wikipedia.org/wiki/Paketverwaltung
Es gibt mehrere "Packet"-Systeme für linux. Und jede Distrie muss sich von der anderen Hervorheben, und nen anderes noch tolleres Packet-Managment anbieten
Aber es gibt 2 grosse hauptrichtungen, mit denen du das meiste schon mal abdeckst:
RPM's -> Suse RedHat Mandrive und Co.
Debs -> Debain Deriavte inklusive Ubuntu
Willst du alle und jegliches Packetformat unterstützten, administrierst dich tot ^^
Easy Weg (fuer dich), und macht alle Hardcore-Linuxer Gluecklich:
Distributier deine Sourcen (Opensource) und dokumentier deine Abhaengigkeiten.
Der geneigte User macht nur noch den 3 teiler (./configure, make, make install) und alles wird gut. Fuer die Abahengigkeiten ist Er selber verantwortlich.
Komplizierter:
Bau nen RPM / Deb.
Aber wer mit dem 3 teiler ned zurecht kommt, wird auch mit downloaden eines Packets + installieren ueber den Packetmanager probleme bekommen. Also richtig "idiotensicherer" ist es ein Repository zu hosten, worueber der Packetmanager das Ding isntalliert und aktuell haelt.
Aber nen Repository in seine Packetverwaltung reinhaengen ... auch damit sind viele schon überfordert (siehe Debian/Ubuntu Foren)
Vorteil: Abhaengigkeiten werden aufgeloest ...
Nachteil: sowas muss man pflegen, sonst kommt swas schnell in Verruf ^^ packete die ne total veraltete runtime oder qt version haben wollen, sind ned wirklich beliebt ...
RPM:
http://tldp.org/HOWTO/RPM-HOWTO/build.html
http://user.cs.tu-berlin.de/~ccorn/soft ... pm.de.html
Deb:
http://www.debian.org/doc/manuals/maint-guide/
http://old.tuxorials.de/index.php/linux ... bauen.html
Ciao ...
2. falls es vergessen hasst ldd bzw readelf oder sowas drueber laufen lassen. Das zeigt dir die Direkten, quasi psuedostatisch zugelinkten Libraries. richtig dynamische Abhaengigkeiten (dlopen) bekommst damit natuerlich nicht, aber die solltest eh kennen, weil die ja expliziet selber anziehst. Also abhaengigkeiten von der runtime, den qtlibs usw kriegst damit schon raus.
Mit grosser Wahrscheinlichkeit, ich leg meine Hand aber ned ins Feuer, wird das ding "nur" von der c/C++ runtime deines compilers (glibc,libstdc++) abhaengig sein, + die QTLibraries wahrscheinlich nur Core und GUI libQTCore4.so libQTGUI4.so oder so aehnlich.Ich habe eine grafische-Oberfläche mit ein paar Pixmaps (Qimage) darauf und mehrere Dialoge aus Qt4-Bibliotheck in meiner Applikation,
Und nun wirds bunt:ähnlich wie Setup unter Windoff
http://de.wikipedia.org/wiki/Paketverwaltung
Es gibt mehrere "Packet"-Systeme für linux. Und jede Distrie muss sich von der anderen Hervorheben, und nen anderes noch tolleres Packet-Managment anbieten
Aber es gibt 2 grosse hauptrichtungen, mit denen du das meiste schon mal abdeckst:
RPM's -> Suse RedHat Mandrive und Co.
Debs -> Debain Deriavte inklusive Ubuntu
Willst du alle und jegliches Packetformat unterstützten, administrierst dich tot ^^
Easy Weg (fuer dich), und macht alle Hardcore-Linuxer Gluecklich:
Distributier deine Sourcen (Opensource) und dokumentier deine Abhaengigkeiten.
Der geneigte User macht nur noch den 3 teiler (./configure, make, make install) und alles wird gut. Fuer die Abahengigkeiten ist Er selber verantwortlich.
Komplizierter:
Bau nen RPM / Deb.
Aber wer mit dem 3 teiler ned zurecht kommt, wird auch mit downloaden eines Packets + installieren ueber den Packetmanager probleme bekommen. Also richtig "idiotensicherer" ist es ein Repository zu hosten, worueber der Packetmanager das Ding isntalliert und aktuell haelt.
Aber nen Repository in seine Packetverwaltung reinhaengen ... auch damit sind viele schon überfordert (siehe Debian/Ubuntu Foren)
Vorteil: Abhaengigkeiten werden aufgeloest ...
Nachteil: sowas muss man pflegen, sonst kommt swas schnell in Verruf ^^ packete die ne total veraltete runtime oder qt version haben wollen, sind ned wirklich beliebt ...
RPM:
http://tldp.org/HOWTO/RPM-HOWTO/build.html
http://user.cs.tu-berlin.de/~ccorn/soft ... pm.de.html
Deb:
http://www.debian.org/doc/manuals/maint-guide/
http://old.tuxorials.de/index.php/linux ... bauen.html
Ciao ...
Re: QT Applikation für Ubuntu /Debian erstellen
Du hasst schon nen .deb erstellt und das funktioniert nur nicht ?habe ich eine Anleitung für Debian gefunden, aber das hat auch nicht geholfen.
Mach mal nen dpkg -i xyz.deb
Ciao ..
-
- Beiträge: 22
- Registriert: 1. Juni 2011 13:23
Re: QT Applikation für Ubuntu /Debian erstellen
Danke für Deine ausführliche Antwort
aus meiner Projekt-Datei kann ich entnehmen, dass
CONFIG +=qwt
QT += core gui
diese zwei Bibliotheken verwendet werden. Ist es richtig, dass ich z.B. Core Gui und Qwt Biblitheck auf zielsystem installieren muss ?
nein, ich habe noch kein Paket erstellt.RHBaum hat geschrieben: Du hasst schon nen .deb erstellt und das funktioniert nur nicht ?
aus meiner Projekt-Datei kann ich entnehmen, dass
CONFIG +=qwt
QT += core gui
diese zwei Bibliotheken verwendet werden. Ist es richtig, dass ich z.B. Core Gui und Qwt Biblitheck auf zielsystem installieren muss ?
Re: QT Applikation für Ubuntu /Debian erstellen
und die runtime deines compilers ... sollte im packet definitiv mit drinnstehen ...diese zwei Bibliotheken verwendet werden. Ist es richtig, dass ich z.B. Core Gui und Qwt Biblitheck auf zielsystem installieren muss ?
und im Packet stehen verweisse auf andere Packete, keine einzelnen dateien ...
deshalb die erste frage:
deb kann Debian, aber auch Ubuntu sein .. ? Welches ?
Mal angenommen Debian und du hasst nen gcc 4.4 verwendet:
Depends: libstdc++6 (>= 4.4)
Depends: libqt4-gui (>= 4.6)
Depends: libqwt5-qt4 (>= 5.2)
Sowas oder Aehnliches sollte in deinem /debian/control unter anderem stehen
wobei libqt4-gui auch weglassen koenntest, libqwt5-qt4 bringt die abhaengigkeit von qt4-gui schon mit
Auf der anderen seite, erfordert qwt nur die 4.4er qt, wenn du selbst gegen die 4.5 linkst, sollte das nimmer kompatibel sein ...
Ciao ...
Re: QT Applikation für Ubuntu /Debian erstellen
Hier noch zwei vielleicht hilfreiche Links:
http://wiki.ubuntuusers.de/Paketbau
http://wiki.ubuntuusers.de/Grundlagen_d ... erstellung
http://wiki.ubuntuusers.de/Paketbau
http://wiki.ubuntuusers.de/Grundlagen_d ... erstellung