qtforum.de Foren-Übersicht

QtWikiNeu: Zum Wiki  Qt-DocsQt-Dokumentation  Qt-PagesAndere Seiten zu Qt   
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

[FAQ] Natives Jar-File für Windows, Linux und Mac

 
Neues Thema eröffnen   Neue Antwort erstellen    qtforum.de Foren-Übersicht -> FAQ - Qt Jambi
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ArneStocker



Anmeldedatum: 03.11.2004
Beiträge: 300
Wohnort: Berlin

BeitragVerfasst am: Mi Jan 30, 2008 12:14    Titel: [FAQ] Natives Jar-File für Windows, Linux und Mac Antworten mit Zitat

Vorsorglich möchte ich mal kurz beschreiben, wie man mit QtJambi ein Jar File ertellt, in dem sich auch die nativen Bibliotheken befinden. Auf diese Weise müssen die nativen Bibliotheken nicht mehr gesondert mitgeliefert werden und das Verzeichnis mit den nativen Bibliotheken muss der VM nicht gesondert bekannt gemacht werden. Natürlich dürfen die so erstellten qtjambi.jar Files für die verschiedenen Plattformen nicht vertauscht werden Wink

A. qtjambi.jar für Windows

1. einen leeren Ordner erstellen
2. den Inhalt aus dem ../bin Verzeichnis (die dll's außer denApplikationen) hineinkopieren,
ich habe auch die Datei 'Microsoft.VC80.CRT.manifest mit hineinkopiert. '
3. das qtjambi.jar file hineinkopieren
4. das qtjambi.jar file in dieses Vezeichnis entpacken
(so dass com und META-INF auf der selben Verzeichnisebene liegen wie die dll'.s)
5. den Ordner META-INF und die Datei qtjambi.jar löschen
6. auf der gleichen Verzeichnisebene die Datei MANIFEST.MF anlegen
ich habe folgenden Eintrag für das Manifest gewählt (die Zeilennummern natürlich nicht übernehmen)
Code:

1. Manifest-Version 1.0
2. Main-Class: com.trolltech.examples.Application
3.
4. <-- zwei leerzeilen nicht vergessen

7. Aus dem Verzeichnis ein neues Jar file qtjambi.jar bauen

Ich habe hierfür unter Windows ein Eclipse - Projekt angelegt und das neue Verzeichnis importiert. Anschießend habe ich über Export - Jar ein neues Jar File erstellt, wobei ich nicht ein neues Manifest erstellt, sondern das o.g. Manifest zur Übernahme ausgewählt habe.


B. qtjambi.jar für Linux

Unter Linux funktioniert es genauso, nur müssen die nativen Bibliotheken in einem Unterverzeichnis ../lib liegen, d.h. nicht der Inhalt von lib sondern das Verzeichnis lib wird in den neuen Ordner hineinkopiert (und später in das Jarfile übernommen)


C. qtjamb.jar für Mac

Zitat:

Habe ich noch nicht ausprobiert, aber nach dem was ich gelesen habe sind unter Mac keine weiteren nativen Bibliotheken erforderlich. Ich bitte vorsorglich mal um die Bestätigung eines Mac-Users.


Das war natürlich nicht zuende gedacht. Man muss die für Mac bestimmten Bibliotheken von QtJambi ebenfalls beifügen, allerdings werden außer den Bibliotheken von QtJambi keine zusätzlichen nativen Systembibliotheken benötigt (wie z.B. msvcrt71.dll für Windows oder libstdc++.so für Linux).



D. Programm ausliefern

Um das eigene Java-Programm mit QtJambi für verschiedene Plattformen auszuliefern, genügt es (neben den sonstigen notwendigen *.jar Files) das für die Zielplattform bestimmte qtjambi.jar File mitzugeben und in den classpath der eigenen Anwendung aufzunehmen.

Gruß Arne
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ArneStocker



Anmeldedatum: 03.11.2004
Beiträge: 300
Wohnort: Berlin

BeitragVerfasst am: So Mai 18, 2008 15:30    Titel: Antworten mit Zitat

Das Thema hat sich jetzt mit der QtJambi Preview 4.4 von selbst erledigt.

Künftig wird grundsätzlich (je nach Zielplattform) ein zur Plattform passendes qtjambi.jar mit einem (ebenfalls plattformabhängigen) qtjambi_plattformxy.jar ausgeliefert. Das qtjambi_plattformxy.jar enthält alle notwendigen nativen Librarys, die von qtjambi.jar angezogen werden.

Es genügt also wenn das qtjambi.jar und das qtjambi_plattformxy.jar in den classpath aufgenommen werden.

Gruß Arne
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ArneStocker



Anmeldedatum: 03.11.2004
Beiträge: 300
Wohnort: Berlin

BeitragVerfasst am: Sa Aug 16, 2008 8:42    Titel: Antworten mit Zitat

Im aktuellen Release von QtJambi 4.4.0_0.1 gibt es einen Fehler, der dazu führt, dass der o.g. Mechanismus in Verzeichnisse mit Leerzeichen nicht funktioniert.

Das automatische Entpacken der nativen Dateien in ein temporäres Verzeichnis funktioniert also nicht, wenn die Installation z.B. in

Code:

C:\program files\...


erfolgt ist (Unter Vista wird je nach Spracheinstellung hierfür das Verzeichnis C:\Programme\ dargestellt, gleichwohl enthält das Verzeichnis dennoch ein Leerzeichen. Der Fehler wurde von Trolltech bereits für das nächste Release beseitigt. Bis dahin gibt es nur zwei Optionen:

1.Entweder QtJambi selbst oder Applikationen die QtJambi verwenden nicht ein ein Verzeichnis mit Leerzeichen kopieren

2. Oder die Datei 'qtjambi-win32-msvc2005-4.4.0_01' bzw. die Entsprechung für Linux oder Mac entpacken und den Classpath bzw den Djava.libarary.path auf das Verzeichnis mit den entpackten nativen Dateien setzen.

Gruß Arne
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
ArneStocker



Anmeldedatum: 03.11.2004
Beiträge: 300
Wohnort: Berlin

BeitragVerfasst am: Sa Sep 20, 2008 15:02    Titel: Antworten mit Zitat

Zitat:

Im aktuellen Release von QtJambi 4.4.0_0.1 gibt es einen Fehler, der dazu führt, dass der o.g. Mechanismus in Verzeichnisse mit Leerzeichen nicht funktioniert.


Das Problem ist jetzt mit der aktuellen Version 4.4.2 erledigt.

Gruß Arne
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    qtforum.de Foren-Übersicht -> FAQ - Qt Jambi Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum