Forum QtFR

La communauté francophone Qt

Vous n'êtes pas identifié(e).

Annonce

Qt 4: 4.8.4 - Qt 5: 5.0.2 - Qt Creator: 2.7.1 - Qt Installer: 1.3.0 - VS Qt 4: 1.1.11 - VS Qt 5: 1.2.1 - Monkey Studio: 1.9.0.4

#1 22-05-2008 18:50:04

maxaquillion
Membre(e) Qt
Inscription : 22-05-2008
Messages : 4

Problème avec Java/Qt Jambi + Ubuntu 8.04

Bonsoir !

Je souhaiterais installer programmé en Qt et Java sur ma distrib Ubuntu 8.04 avec Qt Jambi mais j'ai quelques problèmes lors de la compilation ...
J'ai installé les paquets (dans synaptic) suivants : libqtjambi-dev, libqtjambi-java, libqtjambi-jni.
Normalement avec ses trois paquets je devrais avoir tout installé.
Mais lorsque je teste un code simple (affichage d'une fenêtre) :

import com.trolltech.qt.gui.QApplication;
import com.trolltech.qt.gui.QPushButton;

public class Test
{
    public static void main(String[] args) {
        QApplication.initialize(args);

        QPushButton bouton = new QPushButton("Hello World!");
        bouton.show();

        QApplication.exec();
    }
}

et que je compile avec "javac Test.java" j'obtiens les erreurs suivantes :
----------
1. ERROR in Test.java (at line 1)
        import com.trolltech.qt.gui.QApplication;
               ^^^
The import com cannot be resolved
----------
2. ERROR in Test.java (at line 2)
        import com.trolltech.qt.gui.QPushButton;
               ^^^
The import com cannot be resolved
----------
3. ERROR in Test.java (at line 7)
        QApplication.initialize(args);
        ^^^^^^^^^^^^
QApplication cannot be resolved
----------
4. ERROR in Test.java (at line 9)
        QPushButton bouton = new QPushButton("Hello World!");
        ^^^^^^^^^^^
QPushButton cannot be resolved to a type
----------
5. ERROR in Test.java (at line 9)
        QPushButton bouton = new QPushButton("Hello World!");
                                 ^^^^^^^^^^^
QPushButton cannot be resolved to a type
----------
6. ERROR in Test.java (at line 12)
        QApplication.exec();
        ^^^^^^^^^^^^
QApplication cannot be resolved
----------
6 problems (6 errors)

Apparemment Qt Jambi ne serait pas reconnus ... Avez-vous une idée du pourquoi de ces erreurs ?

Merci par avance,

MaX

Dernière modification par maxaquillion (23-05-2008 12:05:28)

Hors ligne

#2 23-05-2008 10:31:28

lud42fr
Immortel Qt
Lieu : PHP Error
Inscription : 20-09-2006
Messages : 3 016

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

javac -cp<chemin vers le var de qtjambi>:. Test.java


- 42 -
La grosse claque, il vient de passer les 5000 posts !!!

http://www.gnurou.org/writing/smartquestionsfr

Hors ligne

#3 23-05-2008 12:13:02

maxaquillion
Membre(e) Qt
Inscription : 22-05-2008
Messages : 4

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

lud42fr a écrit :

javac -cp<chemin vers le var de qtjambi>:. Test.java

Merci de ta réponse mais où je peux trouver ce var ?
En faisant une recherche de qt jambi sur le DD j obtiens un certain nombre de réponse mais lequel est-ce ?
A quoi ressemble son nom ou son extension ?

Merci par avance,

MaX

Hors ligne

#4 23-05-2008 12:42:40

lud42fr
Immortel Qt
Lieu : PHP Error
Inscription : 20-09-2006
Messages : 3 016

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

maxaquillion a écrit :
lud42fr a écrit :

javac -cp<chemin vers le var de qtjambi>:. Test.java

Merci de ta réponse mais où je peux trouver ce var ?

Desole faute de frappe de ma part , je voulais ecrire :
javac -cp<chemin vers le jar de qtjambi>:. Test.java

Mais bon pour faire plus simple, tu dois avoir un fichier qui se nomme set_qtjambi_env.sh  quelque part (ne connaisant  pas unbutu ..... je te laisse le chercher)
Il faut executer ce script  dans ton shell de devel (ou en le chargant de maniere permanente via ton .bashrc par exemple) avant de compiler !
Il positionne les variables class_path et ld_library_path comme il faut !


- 42 -
La grosse claque, il vient de passer les 5000 posts !!!

http://www.gnurou.org/writing/smartquestionsfr

Hors ligne

#5 23-05-2008 13:23:28

maxaquillion
Membre(e) Qt
Inscription : 22-05-2008
Messages : 4

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

Pas de fichier set_qtjambi_env.sh sur le DD ...
Par contre j'ai trouvé le fichier jar qtjambi-4.3.jar (dans  /usr/share/java/) dont tu me parlais et en compilant avec javac -cp '/usr/share/java/qtjambi.jar' Test.java la compilation fonctionne ;D
Mais lors de l'execution du bytecode (par la commande java TestJavaQt.Test) j'obtiens les erreurs suivantes :

Exception in thread "main" java.lang.NoClassDefFoundError: com/trolltech/qt/gui/QApplication
    at TestQtJava.Test.main(Test.java:11)
Caused by: java.lang.ClassNotFoundException: com.trolltech.qt.gui.QApplication
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:336)
    ... 1 more

L'installation de QtJambi se serait-elle mal passée ?

Dernière modification par maxaquillion (23-05-2008 13:24:06)

Hors ligne

#6 23-05-2008 14:01:54

lud42fr
Immortel Qt
Lieu : PHP Error
Inscription : 20-09-2006
Messages : 3 016

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

Pour l'execution c'est un poil plus complique !
Il faut que les librairies native de Qt (celles qui terminent avec un .so) soient dans le chemin de recherche de ton linker !
Admettons que les lib natives qt soient dans   /usr/share/java/lib !
il faut positionner la variable d'environnement LD_LIBRARY_PATH comme cela :
export  LD_LIBRARY_PATH=/usr/share/java/lib:$LD_LIBRARY_PATH
Ensuite
pour executer java -cp '/usr/share/java/qtjambi.jar':. taclassemain


Edit : c'est ce qu fait le script fournit avec qtjambi


- 42 -
La grosse claque, il vient de passer les 5000 posts !!!

http://www.gnurou.org/writing/smartquestionsfr

Hors ligne

#7 23-05-2008 14:48:14

maxaquillion
Membre(e) Qt
Inscription : 22-05-2008
Messages : 4

Re : Problème avec Java/Qt Jambi + Ubuntu 8.04

Ayant des fichiers .so pour Qt dispos dans 3 dossiers j'ai positionné la variable d'environnement LD_LIBRARY_PATH sur les 3 (/usr/share/qt3/lib, /usr/lib, /usr/lib/jni) et ça marche big_smile
Merci beaucoup de ton aide !

Par contre deux dernières questions si ça ne te dérange pas :
+ Si je redémarre je dois refaire ces exports pour qu'ils restent je dois les mettre dans le .bashrc c'est ça ?
+ Sais-tu  comment fait on pour que ça fonctionne dans eclipse quand on clique sur le bouton compiler/executer ?

Merci




Edit : Après un rapide test seul le dossier /usr/lib/jni doit être importé

Dernière modification par maxaquillion (23-05-2008 14:59:52)

Hors ligne

Pied de page des forums


Sitemap QtFR