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

  FORUM HardWare.fr
  Programmation

  [QT for Linux] newbie inside... [RESOLU !!! :)]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[QT for Linux] newbie inside... [RESOLU !!! :)]

n°196138
Profil sup​primé
Posté le 16-08-2002 à 22:19:48  answer
 

Bonjour, je veux réaliser une application en QT. Mais j'arrvie pas à compiler voilà le message d'erreur :
 

damien@Le-Zigoto:~/kslackports$ qmake -project && qmake && make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/lib/qt-3.0.4/include -I/usr/lib/qt-3.0.4/mkspecs/default -o kslackports.o kslackports.cpp
g++  -o kslackports kslackports.o moc_kslackports.o  -Wl,-rpath,/usr/lib/qt-3.0.4/lib -L/usr/lib/qt-3.0.4/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
moc_kslackports.o: In function `MainWindow::tr(char const *, char const *)':
moc_kslackports.o(.text+0x33): undefined reference to `QApplication::translate(char const *, char const *, char const *, QApplication::Encoding) const'
moc_kslackports.o: In function `MainWindow::trUtf8(char const *, char const *)':
moc_kslackports.o(.text+0x7f): undefined reference to `QApplication::translate(char const *, char const *, char const *, QApplication::Encoding) const'
moc_kslackports.o: In function `MainWindow::staticMetaObject(void)':
moc_kslackports.o(.text+0xcb): undefined reference to `QMetaObject::new_metaobject(char const *, QMetaObject *, QMetaData const *, int, QMetaData const *, int, QMetaProperty const *, int, QMetaEnum const *, int, QClassInfo const *, int)'
moc_kslackports.o(.text+0xe5): undefined reference to `QMetaObjectCleanUp::setMetaObject(QMetaObject *&)'
moc_kslackports.o: In function `MainWindow::qt_cast(char const *)':
moc_kslackports.o(.text+0x13f): undefined reference to `QDialog::qt_cast(char const *)'
moc_kslackports.o: In function `MainWindow::qt_invoke(int, QUObject *)':
moc_kslackports.o(.text+0x163): undefined reference to `QDialog::qt_invoke(int, QUObject *)'
moc_kslackports.o: In function `MainWindow::qt_emit(int, QUObject *)':
moc_kslackports.o(.text+0x17f): undefined reference to `QDialog::qt_emit(int, QUObject *)'
moc_kslackports.o: In function `MainWindow::qt_property(int, int, QVariant *)':
moc_kslackports.o(.text+0x19b): undefined reference to `QDialog::qt_property(int, int, QVariant *)'
moc_kslackports.o: In function `__static_initialization_and_destruction_0':
moc_kslackports.o(.text+0x1c2): undefined reference to `QMetaObjectCleanUp::QMetaObjectCleanUp(void)'
moc_kslackports.o(.text+0x1d3): undefined reference to `QMetaObjectCleanUp::~QMetaObjectCleanUp(void)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow.12QPaintDevice+0xc): undefined reference to `QPaintDevice::setResolution(int)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow.12QPaintDevice+0x10): undefined reference to `QPaintDevice::resolution(void) const'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow.12QPaintDevice+0x18): undefined reference to `QPaintDevice::x11RenderHandle(void) const'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x28): undefined reference to `QDialog::eventFilter(QObject *, QEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x48): undefined reference to `QObject::customEvent(QCustomEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x68): undefined reference to `QWidget::setBackgroundMode(Qt::BackgroundMode)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x6c): undefined reference to `QWidget::setEraseColor(QColor const &)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x70): undefined reference to `QWidget::setErasePixmap(QPixmap const &)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x78): undefined reference to `QWidget::setPaletteBackgroundColor(QColor const &)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x7c): undefined reference to `QWidget::setPaletteBackgroundPixmap(QPixmap const &)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x154): undefined reference to `QDialog::contextMenuEvent(QContextMenuEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x158): undefined reference to `QWidget::imStartEvent(QIMEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x15c): undefined reference to `QWidget::imComposeEvent(QIMEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x160): undefined reference to `QWidget::imEndEvent(QIMEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x164): undefined reference to `QWidget::tabletEvent(QTabletEvent *)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x198): undefined reference to `QWidget::windowActivationChange(bool)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x19c): undefined reference to `QWidget::create(unsigned long, bool, bool)'
moc_kslackports.o(.gnu.linkonce.d.__vt_10MainWindow+0x1b4): undefined reference to `QWidget::setMicroFocusHint(int, int, int, int, bool, QFont *)'
collect2: ld returned 1 exit status
make: *** [kslackports] Erreur 1

 
Et voici le source du programme :
 

Code :
  1. #include <qapplication.h>
  2. #include <qpushbutton.h>
  3. int main( int argc, char **argv )
  4. {
  5. QApplication *a=new QApplication(argc,argv);
  6. QPushButton *quit=new QPushButton("Quitter", 0);
  7. a->setMainWidget(quit);
  8. quit->show();
  9. }

 
 
Merci pour votre aide...


Message édité par Profil supprimé le 16-08-2002 à 23:14:03
mood
Publicité
Posté le 16-08-2002 à 22:19:48  profilanswer
 

n°196140
tanguy
Posté le 16-08-2002 à 22:46:14  profilanswer
 

le sot zi a écrit a écrit :

 

Code :
  1. #include <qapplication.h>
  2. #include <qpushbutton.h>
  3. int main( int argc, char **argv )
  4. {
  5. QApplication *a=new QApplication(argc,argv);
  6. QPushButton *quit=new QPushButton("Quitter", 0);
  7. a->setMainWidget(quit);
  8. quit->show();
  9. a->exec();
  10. }

 




déjà dans ton source, ca n'affichera jamais rien car tu as oublié de faire a->exec();
 
sinon essaye plutot de compiler et d'executer un exemple sur le site de trolltech (comme ca t'es sur que le code est correct) :
http://doc.trolltech.com/3.0/tutorial1-01.html
 
En dehors de ça, normalement ton programme dois se compiler normalement sans erreur. ici c'est l'installation de Qt qui est marche pas : gcc n'arrive pas à linker ton programme avec la lib Qt mais les headers de Qt sont bien présents.
 
- donc comment as tu installé Qt ?
avec le tar.gz sur le site web de trolltech
ou avec le package qt-dev de ta distrib (c'est la meilleure méthode) ?
 
- tu as quel distrib ?
 
- tu compiles avec quel version de gcc ? (faire gcc -v pour savoir)
 
- avant ca fonctionnait ?

n°196141
Profil sup​primé
Posté le 16-08-2002 à 22:53:15  answer
 

Merci de me répondre  :jap:  
 
 

damien@Le-Zigoto:~/kslackports$ gcc -v
Reading specs from /usr/lib/gcc-lib/i386-slackware-linux/2.95.3/specs
gcc version 2.95.3 20010315 (release)
damien@Le-Zigoto:~/kslackports$

 
 
 
sur slackware 8.0 avec KDE 3.01, QT 3.0.4, pkgs officiels de KDE et QT pour slack. C'est la 1è fois ke je programme avec QT. J'ai essayé de mettre le exec (grossière erreur de ma part), mais rien à faire. Par contre, j'ai déjà essayé les tuts de trolltech. Ca marche, mais des fois j'ai quelques soucis, par ex avec le qhbox... Mais je n'ai pas leur façon de procéder, car je viens du java pour les interfaces graphiques, et j'ai du mal à m'habituer à leur façon de procéder...

n°196143
Profil sup​primé
Posté le 16-08-2002 à 23:13:40  answer
 

J'ai recompilé un QT-3.0.5 sur ma bécane, et la compil marche nickel... Merci pour votre aide :)

n°196144
tanguy
Posté le 16-08-2002 à 23:23:01  profilanswer
 

le sot zi a écrit a écrit :

 
Ca marche, mais des fois j'ai quelques soucis, par ex avec le qhbox... Mais je n'ai pas leur façon de procéder, car je viens du java pour les interfaces graphiques, et j'ai du mal à m'habituer à leur façon de procéder...




comme lib graphique pour le C++ tu trouveras pas mieux ou plus simple que Qt, si tu viens de java c'est probablement le langage C++ lui-même qui te gène.
 
par contre je comprends pas pourquoi ca fonctionne à moitié :/
l'installation de la lib Qt chie clairement, ton programme je le compile et link sans aucun problème, t'aurais pas bidouillé ou fait des trucs crades en installant Qt, pris des packages non officiels, fait plusieurs installations différentes ?
 
j'ai malheureusement pas une slackware, mais normalement y'a aucun problème si l'on utilise les packages officiels de sa distrib.
 
au début j'ai pensé que tu utilisais gcc 3 alors que Qt était compilé avec gcc 2.95 mais apparemment c'est pas le cas.
 
essaye toujours de re-installer les packages Qt mais bon en général ca change pas grand chose ce genre de manip sous linux contrairement à windows.
 
essaye de voir sur les mailings lists de Slackware
ou fait une recherche sur le site web de trolltech, y'a beaucoup de docs et c'est très bien fait :
http://lists.trolltech.com/qt-interest/
 
fait aussi :
$ldd /usr/bin/qtconfig
et regarde la lib Qt qui est utilisé pour ce programme (livré avec Qt donc tu l'as forcément)
 
et essaye aussi ldd sur un programme que tu as compilé avec Qt et qui fonctionne pour voir.
 
regarde aussi la variable d'environnement QTDIR vers quel répertoire ca pointe
$env | grep QTDIR
 
tu trouveras peut être un truc annormal, je sais pas.
 
essaye aussi de faire en root
$ldconfig
 
mais bon y'a pas de raison que ca change quelque chose :(
 
post aussi sur OSA si tu y arrives toujours pas, y'a pleins de linuxiens la bas qui auront ptet rencontré le pb ou qui ont une slackware 8.0 comme toi et pourront essayer de compiler ton programme.

n°196145
tanguy
Posté le 16-08-2002 à 23:23:47  profilanswer
 

le sot zi a écrit a écrit :

J'ai recompilé un QT-3.0.5 sur ma bécane, et la compil marche nickel... Merci pour votre aide :)




 
ro putain grilled :D

n°196147
Profil sup​primé
Posté le 16-08-2002 à 23:34:33  answer
 

tanguy a écrit a écrit :

 
 
ro putain grilled :D
 




pô grave ;) merci quand même... Et je ne viens pas seulement de java... Je viens de java juste pour les interfaces grafik... Sinon, je fé aussi du C, du C++, de l'asm et du php. Mais rarement des interfaces grafik, sauf pour l'iut... Text mode powa :)


Message édité par Profil supprimé le 16-08-2002 à 23:37:23

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

  [QT for Linux] newbie inside... [RESOLU !!! :)]

 

Sujets relatifs
[Visual C++] propriété d'un CButton [RESOLU][HTML CSS] select et style [resolu]
[Java + WebObject] Suppression d'une ligne d'une bd (Resolu)Question idiote d'un newbie :-p
[Java] ResultSet et Date (résolu)[HTML] kestion pour le newbie que je suis...
tri -> mise en page qui foire... [ resolu ][VBA]Pb de formules sous excel avec vba (résolu)
[SHELL-SCRIPT] forwarding files by mail [RESOLU] merci[C] Comment detecter l'utilisation des fleches de directions [RESOLU]
Plus de sujets relatifs à : [QT for Linux] newbie inside... [RESOLU !!! :)]


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