OVH Cloud OVH Cloud

Les librairies

2 réponses
Avatar
stormz
Hello.

J'ai développer une application avec la librairie QTJava (quicktime
for Java).
Le problème est que j'aimerai que l'utilisateur n'est pas à
selectionner l'option "install QT for java" lors de l'installation de
Quicktime.
Pour cela j'ai copier le zip QTJava.zip qui contient toutes les
classes pour QT.

Je dev sous JBuilder 9 perso.

J'ai ajouté QTJava dans le chemin du JDK. Nikel ça compile.
Quand j'execute mon appli j'ai cette erreur:
ava.lang.UnsatisfiedLinkError: no QTJava in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1403)

at java.lang.Runtime.loadLibrary0(Runtime.java:788)

at java.lang.System.loadLibrary(System.java:832)

at quicktime.jdirect.JDirectLinker$1.run(JDirectLinker.java:266)

at java.security.AccessController.doPrivileged(Native Method)

at quicktime.jdirect.JDirectLinker$1$PrivelegedAction.establish(JDirectLinker.java:264)

at quicktime.jdirect.JDirectLinker.<clinit>(JDirectLinker.java:272)

at quicktime.jdirect.QTNative.loadQT(QTNative.java:33)

at quicktime.jdirect.QuickTimeLib.<clinit>(QuickTimeLib.java:17)

at quicktime.QTSession.<clinit>(QTSession.java:82)

at slide.PlayMovie.<init>(PlayMovie.java:39)

A la ligne 29 j'apelle la 1er fonction de QT...
Comment faire pour inclure cette librairie au moment de l'execution.
J'ai essayé de bidouille les propriétes des bibliothèque sous
JBuilder, mais rien à faire.

Merci pour votre aide.

--
storm

2 réponses

Avatar
guillespie
bonjour, lorsque tu codes en java sur un editeur lambda (pour ma part,
j'utilise Eclipse), tu as la possibilite d'executer ton prog en ligne
commande java -classpath=/ton-classpath/... tonProgramme

c'est l'equivalent de cette option qu'il faut que tu trouves sur jbuilder.

je ne saurais t'en dire plus si ce n'est que le support de Ant sur un ide
java est a mon humble avis un element determinant de choix dudit ide...

typiquement avec ant, ton pb ne se presenterait pas.

good luck!
Avatar
Christophe M
storm wrote:
Hello.

J'ai développer une application avec la librairie QTJava (quicktime
for Java).
Le problème est que j'aimerai que l'utilisateur n'est pas à
selectionner l'option "install QT for java" lors de l'installation de
Quicktime.
Pour cela j'ai copier le zip QTJava.zip qui contient toutes les
classes pour QT.

Je dev sous JBuilder 9 perso.

J'ai ajouté QTJava dans le chemin du JDK. Nikel ça compile.
Quand j'execute mon appli j'ai cette erreur:
ava.lang.UnsatisfiedLinkError: no QTJava in java.library.path

at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1403)

at java.lang.Runtime.loadLibrary0(Runtime.java:788)

at java.lang.System.loadLibrary(System.java:832)

at quicktime.jdirect.JDirectLinker$1.run(JDirectLinker.java:266)

at java.security.AccessController.doPrivileged(Native Method)

at quicktime.jdirect.JDirectLinker$1$PrivelegedAction.establish(JDirectLinker.java:264)

at quicktime.jdirect.JDirectLinker.<clinit>(JDirectLinker.java:272)

at quicktime.jdirect.QTNative.loadQT(QTNative.java:33)

at quicktime.jdirect.QuickTimeLib.<clinit>(QuickTimeLib.java:17)

at quicktime.QTSession.<clinit>(QTSession.java:82)

at slide.PlayMovie.<init>(PlayMovie.java:39)

A la ligne 29 j'apelle la 1er fonction de QT...
Comment faire pour inclure cette librairie au moment de l'execution.
J'ai essayé de bidouille les propriétes des bibliothèque sous
JBuilder, mais rien à faire.

Merci pour votre aide.



ça ne doit pas être un problème de classpath, vu que ça compile

ça serait pas un problème de dll, plutôt que de librairies java ?
Surtout que j'y voie des classes comme ...jdirect.QTNative... qui a mon
humble avis doti charger le "vrai" quicktime via une dll

Essaie de trouver la dite dll, et de rajouter une option :
-Djava.library.path=mon_chemin_vers_la_dll
à la ligne de commande de lancement (ou équivalent dans JBuilder)

Pour faire "complet" dans ta distribution, il vaudrait mieux mettre
cette dll avec le QTJava.zip, afin d'être sur que ça soit aussi
disponible sur les autres postes

Christophe