IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Qt Discussion :

Problème de path en compilation qt3


Sujet :

Qt

  1. #1
    Invité
    Invité(e)
    Par défaut Problème de path en compilation qt3
    Bonjour,

    j'ai un problème de compilation en qt3 , voici ce que j'obtiens :

    XTERM(terminal émulateur)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    [cepamonpseudo@localhost courant]$ ls
    triangle.cpp
    [cepamonpseudo@localhost courant]$ qmake -project
    [cepamonpseudo@localhost courant]$ ls
    courant.pro  triangle.cpp
    [cepamonpseudo@localhost courant]$ qmake
    [cepamonpseudo@localhost courant]$ ls
    courant.pro  Makefile  triangle.cpp
    [cepamonpseudo@localhost courant]$ make
    
    g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT 
    -I/usr/lib/qt3/mkspecs/default -I. -I. -I/usr/lib/qt4/include
    -o triangle.o triangle.cpp
    
    triangle.cpp:2:21: erreur: qstring.h : Aucun fichier ou dossier de ce type
    triangle.cpp:3:20: erreur: qcolor.h : Aucun fichier ou dossier de ce type
    triangle.cpp:4:21: erreur: qpixmap.h : Aucun fichier ou dossier de ce type
    triangle.cpp:5:22: erreur: qpainter.h : Aucun fichier ou dossier de ce type
    triangle.cpp:6:20: erreur: qlabel.h : Aucun fichier ou dossier de ce type
    triangle.cpp:7:26: erreur: qapplication.h : Aucun fichier ou dossier de ce type
    
    triangle.cpp:10: erreur: ‘QPixmap’ does not name a type
    
    triangle.cpp: In function ‘int main(int, char**)’:
    triangle.cpp:21: erreur: ‘QApplication’ was not declared in this scope
    triangle.cpp:21: erreur: expected ‘;’ before ‘app’
    triangle.cpp:23: erreur: ‘QWidget’ was not declared in this scope
    triangle.cpp:23: erreur: ‘widget’ was not declared in this scope
    triangle.cpp:23: erreur: expected type-specifier before ‘QWidget’
    triangle.cpp:23: erreur: expected ‘;’ before ‘QWidget’
    triangle.cpp:25: erreur: ‘QLabel’ was not declared in this scope
    triangle.cpp:25: erreur: expected ‘;’ before ‘label’
    triangle.cpp:26: erreur: ‘label’ was not declared in this scope
    triangle.cpp:28: erreur: ‘class Geometrie’ has no member named ‘triangle’
    triangle.cpp:29: erreur: ‘app’ was not declared in this scope
    
    triangle.cpp: At global scope:
    triangle.cpp:20: attention : unused parameter ‘argc’
    triangle.cpp:20: attention : unused parameter ‘argv’
    make: *** [triangle.o] Erreur 1
    
    [cepamonpseudo@localhost courant]$ ls
    courant.pro  Makefile  triangle.cpp
    
    [cepamonpseudo@localhost courant]$ |
    Voici mon programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    //Trés grand triangle isocéle 
    #include <qstring.h>
    #include <qcolor.h>
    #include <qpixmap.h>
    #include <qpainter.h>
    #include <qlabel.h>
    #include <qapplication.h>
    class Geometrie
    {	public :
    	QPixmap triangle()
    	{   QPixmap pixels(1330,730) ;
    		pixels.fill(QColor::QColor(255,255,255)) ; 
    	    QPainter pinceo(&pixels) ;
    		pinceo.drawLine(665,10,10,665) ;
    		pinceo.drawLine(10,665,1320,665) ;
    		pinceo.drawLine(1320,665,665,10) ;
    	 return pixels ; 
    	}
    };
    int main(int argc,char ** argv) 
    {	QApplication app(argc,argv) ;
    	Geometrie obj ;
    	QWidget * widget = new QWidget ;
    	    widget->setFixedSize(1430,830) ;	   
    	   QLabel label (widget,"une image") ;
    		label.setFixedSize(1330,730) ;
    		label.move(50,50) ;
    		label.setPixmap(obj.triangle()) ; 
    	     app.setMainWidget(widget) ;
    	    widget->show() ;
    app.exec() ;
    return 0 ;  
    }
    Voici ma question :

    Où dois-je utilser le export , pour changer le path librairie /usr/lib/qt4/include en /usr/lib/qt3/include ?

    ( ] $ export ??? =/usr/lib/qt3/include )

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 975
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 975
    Points : 221 711
    Points
    221 711
    Billets dans le blog
    131
    Par défaut
    Bonjour,

    Vous pouvez changer directement dans le Makefile.
    Sinon vous pouvez aussi appele une commande specifique pour Qt3 (qmake3-project ou quelque chose dans le genre, je ne me rappelle plus du nom...)

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci pour ta réponse,

    Je lance le programme l'éditeur de texte Kwrite (ou gedit , kate ..) puis j'ouvre le Makefile ci-dessous :

    Makefile
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    #############################################################################
    # Makefile for building: courant
    # Generated by qmake (1.07a) (Qt 3.3.8b) on: Tue Oct 26 13:24:03 2010
    # Project:  courant.pro
    # Template: app
    # Command: $(QMAKE) -o Makefile courant.pro
    #############################################################################
    
    ####### Compiler, tools and options
    
    CC       = gcc
    CXX      = g++
    LEX      = flex
    YACC     = yacc
    CFLAGS   = -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT
    CXXFLAGS = -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED -DQT_THREAD_SUPPORT
    LEXFLAGS = 
    YACCFLAGS= -d
    INCPATH  = -I/usr/lib/qt3/mkspecs/default -I. -I. -I$(QTDIR)/include
    LINK     = g++
    LFLAGS   = 
    LIBS     = $(SUBLIBS) -L$(QTDIR)/lib -L/usr/lib -lqt-mt -lXext -lX11 -lm
    AR       = ar cqs
    RANLIB   = 
    MOC      = $(QTDIR)/bin/moc
    UIC      = $(QTDIR)/bin/uic
    QMAKE    = qmake
    TAR      = tar -cf
    GZIP     = gzip -9f
    COPY     = cp -f
    COPY_FILE= $(COPY)
    COPY_DIR = $(COPY) -r
    INSTALL_FILE= $(COPY_FILE)
    INSTALL_DIR = $(COPY_DIR)
    DEL_FILE = rm -f
    SYMLINK  = ln -sf
    DEL_DIR  = rmdir
    MOVE     = mv -f
    CHK_DIR_EXISTS= test -d
    MKDIR    = mkdir -p
    
    ####### Output directory
    
    OBJECTS_DIR = ./
    
    ####### Files
    
    HEADERS = 
    SOURCES = triangle.cpp
    OBJECTS = triangle.o
    FORMS = 
    UICDECLS = 
    UICIMPLS = 
    SRCMOC   = 
    OBJMOC = 
    DIST	   = courant.pro
    QMAKE_TARGET = courant
    DESTDIR  = 
    TARGET   = courant
    
    first: all
    ####### Implicit rules
    
    .SUFFIXES: .c .o .cpp .cc .cxx .C
    
    .cpp.o:
    	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
    
    .cc.o:
    	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
    
    .cxx.o:
    	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
    
    .C.o:
    	$(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
    
    .c.o:
    	$(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
    
    ####### Build rules
    
    all: Makefile $(TARGET)
    
    $(TARGET):  $(UICDECLS) $(OBJECTS) $(OBJMOC)  
    	$(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(OBJCOMP) $(LIBS)
    
    mocables: $(SRCMOC)
    uicables: $(UICDECLS) $(UICIMPLS)
    
    $(MOC): 
    	( cd $(QTDIR)/src/moc && $(MAKE) )
    
    Makefile: courant.pro  /usr/lib/qt3/mkspecs/default/qmake.conf /usr/lib/libqt-mt.prl
    	$(QMAKE) -o Makefile courant.pro
    qmake: 
    	@$(QMAKE) -o Makefile courant.pro
    
    dist: 
    	@mkdir -p .tmp/courant && $(COPY_FILE) --parents $(SOURCES) $(HEADERS) 
     $(FORMS) $(DIST) .tmp/courant/ && ( cd `dirname .tmp/courant` && $(TAR) courant.tar courant && $(GZIP) courant.tar ) && $(MOVE) 
    `dirname .tmp/courant`/courant.tar.gz . && $(DEL_FILE) -r .tmp/courant
    
    mocclean:
    
    uiclean:
    
    yaccclean:
    lexclean:
    clean:
    	-$(DEL_FILE) $(OBJECTS)
    	-$(DEL_FILE) *~ core *.core
    
    
    ####### Sub-libraries
    
    distclean: clean
    	-$(DEL_FILE) $(TARGET) $(TARGET)
    
    
    FORCE:
    
    ####### Compile
    
    triangle.o: triangle.cpp 
    
    ####### Install
    
    install:  
    
    uninstall:
    Je n'ai pas trouver ce path /usr/lib/qt4/include,dans le fichier,mais cependant le
    path le plus proche est celui-ci -I$(QTDIR)/include .

    Donc , je décide de remplacer le path précédent , par celui-ci -I/usr/lib/qt3/include
    Je relance la compilation pour tester la modification...,ça marche ! Mon programme est
    compilé !

    XTERM (émulateur terminal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    [... courant]$ ls
    courant.pro  Makefile  Makefile~  triangle.cpp
    
    [... courant]$ make
    
    g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -DQT_SHARED 
    -DQT_THREAD_SUPPORT -I/usr/lib/qt3/mkspecs/default -I. -I.
     -I/usr/lib/qt3/include -o triangle.o triangle.cpp
    g++  -o courant triangle.o    
    -L/usr/lib/qt4/lib -L/usr/lib -lqt-mt -lXext -lX11 -lm
    
    [... courant]$ ls
    courant*  courant.pro  Makefile  Makefile~  triangle.cpp  triangle.o
    [... courant]$ ./courant
    (programme en cour d'execution ...)
    [... courant]$ |
    Merci , de m'avoir aider ..., aurevoir.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Petite précision , pour compléter , voici la version de modification du path vers la
    librairie qt3 (/usr/lib/qt4/include -->/usr/lib/qt3/include) commande export :

    XTERM (émulateur terminal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $ echo   $QTDIR
    $ export QTDIR = /usr/lib/qt3
    aurevoir...
    Dernière modification par Invité ; 28/10/2010 à 13h34. Motif: un petit oubli .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème lors de la compilation : Unsatisfied symbols
    Par la schtroumpfette dans le forum C
    Réponses: 6
    Dernier message: 29/12/2005, 10h52
  2. Problème de linker à la compilation
    Par screeminelle dans le forum C++
    Réponses: 8
    Dernier message: 27/10/2005, 17h20
  3. Réponses: 7
    Dernier message: 27/09/2005, 22h40
  4. [CDT] problème de build et compil (make -k)
    Par Prodejeu dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 03/11/2004, 00h18
  5. [Linux]Problème System.out.println + compiler
    Par Dnx dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 21/09/2004, 23h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo