Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1970 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  un probleme avec qt

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

un probleme avec qt

n°372277
boco
Posté le 25-04-2003 à 19:30:01  profilanswer
 

salut,  
 
j'ai besoin d'une aide precieuse...pour la realisation de mon mémoire en informatique! En effet, je travaille sous Mandrake 9.0, les librairies qt sont deja installees et pourtant je n'arrive pas à compiler mon premier petit programme test.  
Les compilations essayées:  
 
g++ -o ex1 ex1.cpp -lqt  
g++ -I /usr/lib/qt3/include/ -o ex1 ex1.cpp [-lqt]  
 
Les erreurs signalées:  
 
ex1.cpp:6:19: qapp.h: No such file or directory  
ex1.cpp:7:22: qpushbt.h: No such file or directory  
ex1.cpp: In function `int main(int, char**)':  
ex1.cpp:13: `QApplication' undeclared (first use this function)  
ex1.cpp:13: (Each undeclared identifier is reported only once for each function it appears in.)  
ex1.cpp:13: parse error before `(' token  
ex1.cpp:18: `QPushButton' undeclared (first use this function)  
ex1.cpp:19: `bouton' undeclared (first use this function)  
 
Merci d'avance à celui qui me sauvera de la stagnation, mon mémoire ne pouvant plus avancer à cause de ce problème technique!  
 
 
Le 'programmito', au passage:  
 
#include < qapp.h>  
#include < qpushbt.h>  
 
int main( int argc, char **argv ) {  
QApplication a( argc, argv );  
 
QPushButton bouton( "Coucou !!!" );  
bouton.resize( 100, 30 );  
 
a.setMainWidget( &bouton );  
bouton.show();  
return a.exec();  
} [quote]


Message édité par boco le 25-04-2003 à 20:19:48
mood
Publicité
Posté le 25-04-2003 à 19:30:01  profilanswer
 

n°372280
drasche
Posté le 25-04-2003 à 19:32:49  profilanswer
 

apparemment il manque une référence vers les librairies puisque les headers ne sont pas trouvés (dixit le premier message d'erreur du compilateur).
 
il y a un topic très récent qui traite pratiquement de la même chose.
 
Au fait: mauvaise cat -> C/C++
 
:hello:


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°372282
drasche
Posté le 25-04-2003 à 19:37:43  profilanswer
 

voilà c'était ici: http://forum.hardware.fr/forum2.php3?post=35654&cat=10
 
regarde si ça répond à ta question ;)


---------------
Whichever format the fan may want to listen is fine with us – vinyl, wax cylinders, shellac, 8-track, iPod, cloud storage, cranial implants – just as long as it’s loud and rockin' (Billy Gibbons, ZZ Top)
n°372486
gloop
Posté le 26-04-2003 à 10:31:07  profilanswer
 

les headers que tu mets sont ceux de Qt 1.x, depuis la version 2, il faut utiliser qapplication.h et qpushbutton.h
Normalement qapp.h devrait exister pour la compatibilité, mais je sais pas comment mandrake a fait ca  :)  

n°373322
boco
Posté le 27-04-2003 à 16:44:32  profilanswer
 

drasche a écrit :

voilà c'était ici: http://forum.hardware.fr/forum2.php3?post=35654&cat=10
 
regarde si ça répond à ta question ;)


 
 
ca repond a ma question... Merci!

n°373355
boco
Posté le 27-04-2003 à 18:22:16  profilanswer
 

Sauf que maintenant!
 
[boco@localhost Qt]$ g++ -I/usr/lib/qt3/include -o ex1 ex1.cpp -lqt
ex1.cpp: In function `int main(int, char**)':
ex1.cpp:13: no matching function for call to `QPushButton::QPushButton(const char[11])'
/usr/lib/qt3/include/qpushbutton.h:134: candidates are: QPushButton::QPushButton(const QPushButton&)
/usr/lib/qt3/include/qpushbutton.h:66:                 QPushButton::QPushButton(const QIconSet&, const QString&, QWidget*, const char* = 0)
/usr/lib/qt3/include/qpushbutton.h:65:                 QPushButton::QPushButton(const QString&, QWidget*, const char* = 0)
/usr/lib/qt3/include/qpushbutton.h:64:                 QPushButton::QPushButton(QWidget*, const char* = 0)
ex1.cpp:16: parse error before `.' token
 
J'ai a peine touché mon code (j'ai arrangé QPushButton) et puis:
 
[boco@localhost Qt]$ g++ -I/usr/lib/qt3/include -o ex1 ex1.cpp -lqt
/usr//bin/ld: cannot find -lqt
collect2: ld returned 1 exit status
[boco@localhost Qt]$ export QTDIR="/usr/lib/qt3/"
[boco@localhost Qt]$ g++ -I/usr/lib/qt3/include -o ex1 ex1.cpp -lqt
/usr//bin/ld: cannot find -lqt
collect2: ld returned 1 exit status*/
 
Faudra quand meme m'expliquer!  
A bon entendeur. Et merci d'avance  

n°373373
gloop
Posté le 27-04-2003 à 18:53:17  profilanswer
 

pour le 1er probleme, faut préciser le parent de QPushButton. regarde la doc
pour le 2eme probleme précise le chemin pour la librairie au compilateur

n°373426
boco
Posté le 27-04-2003 à 20:07:48  profilanswer
 

gloop a écrit :

pour le 1er probleme, faut préciser le parent de QPushButton. regarde la doc
pour le 2eme probleme précise le chemin pour la librairie au compilateur
 


 
non, le premier probleme est simplement lié a une mauvaise  utilisation du constructeur (suffisait de mettre 0 comme dernier argument...).  
Quant au second, la, c'est plus delicat. Comme tu peux voir dans la partie de shell que je fournis, il y a un export d'effectué. Devrait connaitre le chemin du coup, non? Puis le probleme est apparu tout d'un coup.Comme tu peux voir la premiere compilation avait fonctionné... Je sais pas.......

n°373533
gloop
Posté le 27-04-2003 à 21:26:09  profilanswer
 

boco a écrit :


 
non, le premier probleme est simplement lié a une mauvaise  utilisation du constructeur (suffisait de mettre 0 comme dernier argument...).  
Quant au second, la, c'est plus delicat. Comme tu peux voir dans la partie de shell que je fournis, il y a un export d'effectué. Devrait connaitre le chemin du coup, non? Puis le probleme est apparu tout d'un coup.Comme tu peux voir la premiere compilation avait fonctionné... Je sais pas.......


pour le 1er prob, c'est bien ce que je te dis, c'est le parent. quand tu mets 0, tu utilises le constructeur avec 2 paramètres: le parent et le nom. là, tu dis qu'il y a pas de parent.
pour le 2é probléme, la variable QTDIR n'a rien n'a voir, tu précises soit avec LD_LIBRARY_PATH, soit dans le fichier /etc/ld.so.conf

n°373618
boco
Posté le 27-04-2003 à 23:13:31  profilanswer
 

Je peux te demander ce qu'est que LD_LIBRARY_PATH  et le fichier /etc/ld.so.conf? Et comment je precise?
Merci pour ta réponse.
   :??:

mood
Publicité
Posté le 27-04-2003 à 23:13:31  profilanswer
 

n°373687
gloop
Posté le 28-04-2003 à 07:47:59  profilanswer
 

LD_LIBRARY_PATH est une variable d'environnement.
dans les 2 cas ca permet de dire au linker où chercher les librairies. (man ldd)
sinon, tu peux utiliser le paramètre -L du g++ pour lui indiquer où trouver la bibliotheque.
Par contre, ca se peut que libqt.so n'existe pas, mais qu'il n'y ait que libqt-mt.so (version multithreadée de Qt). dans ce cas, faut pas que t'utilises -lqt mais -lqt-mt


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  un probleme avec qt

 

Sujets relatifs
[C] probleme avec fonction system()[ACCESS]Probleme activex suite a un changement de poste
Probleme de guillemet[C] Probleme fgets (resolu)
fonction mail() probleme avec la gestion des emails non envoyéPERL probleme d'envois de mail
probleme de tampon?PHP+SQL+Flash problème !!!
Probleme avec un champ Date sous Access...Probleme de timer
Plus de sujets relatifs à : un probleme avec qt


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR