Vous n'êtes pas identifié(e).
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
Pages : 1
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
javac -cp<chemin vers le var de qtjambi>:. Test.java
- 42 -
La grosse claque, il vient de passer les 5000 posts !!!
Hors ligne
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
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 !!!
Hors ligne
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
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 !!!
Hors ligne
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 
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
Pages : 1
| Liens interne à QtFR | Les partenaires de QtFR | Liens pour les sites officiels Qt | Liens sur les ressources Qt |
|---|---|---|---|
| Communauté QtFR sur Google+ | Monkey Studio | Télécharger Qt | Notre tutoriel |
| QtFR sur Twitter | ZeGrapher | Site officiel Qt | Documentation Qt |
| IRC box | Qt Blog | Qt Centre | |
| Galeries | Qt Wiki | Qt Apps | |
| Contactez-nous | Qt Quarterly |