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

Discussion :

[qwt] erreur de compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 57
    Par défaut [qwt] erreur de compilation
    Bonjour ,
    Je travaille sous Ubuntu 9.10 avec Qt4, pour mon projet j'ai besoin d'utiliser la bibliothèque qwt.
    Pour cela je l'ai installé, j'ai récupéré la version 5.2.0 de qwt.

    Grâce à elle j'ai pu compiler un exemple et l'exécuter.
    Je me lance sur un petit test personnel et voila que le linker me retourne :
    g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
    g++ -Wl,-O1 -o testGUI main.o -L/usr/lib -lqwt -lQtGui -lQtCore -lpthread
    /usr/bin/ld: cannot find -lqwt
    collect2: ld returned 1 exit status
    make: *** [testGUI] Erreur 1
    Voici mon projet de test :
    .pro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    TEMPLATE = app
    TARGET =
    DEPENDPATH += .
    INCLUDEPATH += .
    LIBS += -lqwt
    # Input
    SOURCES += main.cpp
    .cpp
    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
    #include <QApplication>
    #include <QWidget>
    #include <qwt_plot.h>
    #include <qwt_plot_grid.h>
     
    int main (int argc, char *argv[])
    {
        QApplication app(argc, argv);
        //widget servant de fenêtre
        QWidget fenetre;
        fenetre.setFixedSize(300, 300);
     
        //widget qui contiendra le graphique
        QwtPlot *mainPlot = new QwtPlot(&fenetre);
     
        QString bla="conteneur du graphe";
        QwtText titre(bla,QwtText::AutoText);
     
        mainPlot->setTitle(titre);
        fenetre.show();
     
        return app.exec();
    }
    J'aimerais savoir comment résoudre ce problème et ce qui en ai la cause s'il vous plait.
    Merci

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2008
    Messages
    26 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 26 772
    Par défaut
    Salut,

    La cause est très simple : le linker ne trouve pas Qwt. Si tu l'as déjà compilé, il faut alors l'installer. Il me semble que le Makefile de Qwt ne propose pas d'option d'installation. Il faut alors le faire à la main, ou bien préciser à make les répertoire où il fuat aller chercher les fichiers. Pour l'include, -Ichemin. Pour les libs, -Lchemin. Enfin, si mes souvenirs sont exacts. Tu peux aussi le faire dans le pro (c'est sûrement plus propre).
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 57
    Par défaut
    Merci pour ta réponse rapide.
    le linker ne trouve pas Qwt
    C'est ce que je craignais et c'est ce qui m'énerve...
    Parce que je l'ai compilé, j'ai fait des tests en ajoutant ces lignes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    INCLUDEPATH += -l/usr/local/qwt-5.2.0/include/
    LIBS += -l/usr/local/qwt-5.2.0/lib/libqwt.so.5.2.0
    dans le .pro ou simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LIBS += -l/usr/local/qwt-5.2.0/lib/
    Il me ressort la même erreur alors que qwt est compilé et installé.

    Quand je mets -L à la place de -l pour les librairies il me dit que les méthodes qwt que j'appelle ne sont pas référencées.

    A côté de ça tous les exemples fonctionnent. Je les compiles et exécutes via QtCreator sans problème. Je suis dans l'incompréhension la plus totale....

    le .pro d'un exemples :
    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
    # -*- mode: sh -*- ################################################
     
    # Qwt Widget Library
     
    # Copyright (C) 1997   Josef Wilgen
     
    # Copyright (C) 2002   Uwe Rathmann
     
    #
     
    # This library is free software; you can redistribute it and/or
     
    # modify it under the terms of the Qwt License, Version 1.0
     
    ###################################################################
     
     
     
    include( ../examples.pri )
     
     
     
    TARGET  = curvdemo1
     
     
     
    SOURCES = \
    
        curvdemo1.cpp
    le .pri qu'il inclue
    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
     
    # -*- mode: sh -*- ################################################
     
    # Qwt Widget Library
     
    # Copyright (C) 1997   Josef Wilgen
     
    # Copyright (C) 2002   Uwe Rathmann
     
    #
     
    # This library is free software; you can redistribute it and/or
     
    # modify it under the terms of the Qwt License, Version 1.0
     
    ###################################################################
     
     
     
    QWT_ROOT = ../..
     
     
     
    include( $${QWT_ROOT}/qwtconfig.pri )
     
     
     
    SUFFIX_STR =
     
    VVERSION = $$[QT_VERSION]
     
    isEmpty(VVERSION) {
     
     
     
        # Qt 3
     
        debug {
     
            SUFFIX_STR = $${DEBUG_SUFFIX}
     
        }
     
        else {
     
            SUFFIX_STR = $${RELEASE_SUFFIX}
     
        }
     
    }
     
    else {
     
        CONFIG(debug, debug|release) {
     
            SUFFIX_STR = $${DEBUG_SUFFIX}
     
        }
     
        else {
     
            SUFFIX_STR = $${RELEASE_SUFFIX}
     
        }
     
    }
     
     
     
    TEMPLATE     = app
     
     
     
    MOC_DIR      = moc
     
    INCLUDEPATH += $${QWT_ROOT}/src
     
    DEPENDPATH  += $${QWT_ROOT}/src
     
    OBJECTS_DIR  = obj$${SUFFIX_STR}
     
    DESTDIR      = $${QWT_ROOT}/examples/bin$${SUFFIX_STR}
     
     
     
    QWTLIB       = qwt$${SUFFIX_STR}
     
     
     
    win32 {
     
        contains(CONFIG, QwtDll) {
     
            DEFINES    += QT_DLL QWT_DLL
     
            QWTLIB = $${QWTLIB}$${VER_MAJ}
     
        }
     
     
     
        win32-msvc:LIBS  += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-msvc.net:LIBS  += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-msvc2002:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-msvc2003:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-msvc2005:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-msvc2008:LIBS += $${QWT_ROOT}/lib/$${QWTLIB}.lib
     
        win32-g++:LIBS   += -L$${QWT_ROOT}/lib -l$${QWTLIB}
     
    }
     
    else {
     
        LIBS        += -L$${QWT_ROOT}/lib -l$${QWTLIB}
     
    }

  4. #4
    Membre actif
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2010
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Février 2010
    Messages : 57
    Par défaut
    Bonjour, j'ai trouvé la solution.

    Merci dourouc05 pour ta réponse.

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

Discussions similaires

  1. Erreur de compilation après modification du Uses
    Par DevelOpeR13 dans le forum Langage
    Réponses: 5
    Dernier message: 30/10/2007, 14h23
  2. Réponses: 2
    Dernier message: 23/09/2003, 14h32
  3. Réponses: 10
    Dernier message: 22/09/2003, 21h58
  4. Réponses: 4
    Dernier message: 27/08/2003, 21h34
  5. Réponses: 2
    Dernier message: 04/03/2003, 23h24

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