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 :

probleme QGraphicsSvgWidget et compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par défaut probleme QGraphicsSvgWidget et compilation
    Bonjour,

    J'essaie de compiler un bout de code tout simple pour tester QGraphicsSvgWidget
    J'utilise Qt4.4.3 sous XP

    J'ai 2 fichiers dans un dossier svgtest1:
    main.cpp (voir ci-dessous) et cubic.svg (qui vient de Qt4.4.3\examples\painting\svgviewer\files)

    Le code est le suivant:
    main.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
     
    #include <QApplication>
    #include <QGraphicsView>
    #include <QGraphicsScene>
    #include <QGraphicsSvgItem>
     
    int main(int argc, char* argv[])
    {
    QApplication app(argc, argv);
     
    QGraphicsView *view = new QGraphicsView;
    view->setFixedSize(640, 480);
     
     
    QRect r = view->rect();
    r.adjust(1,1,-1,-1);
    QGraphicsScene *scene = new QGraphicsScene(r);
    scene->addItem(new QGraphicsSvgItem("cubic.svg"));
    view->setScene(scene);
    view->show();
    return app.exec();
    }
    J'essaie de compiler de la manière suivante:

    qmake - project
    => creation d'un fichier svgtest1.pro
    qmake
    => creation de Makefile, Makefile.Debug, Makefile.Release, et des dossiers debug et release
    make -f Makefile.Release
    => erreur QGraphicsSvgItem: No such file or directory

    En regardant dans Makefile.Release, j'ai un INCPATH qui a la tete suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INCPATH       = -I'../../../Qt4.4.3/include/QtCore' -I'../../../Qt4.4.3/include/QtCore' -I'../../../Qt4.4.3/include/QtGui' -I'../../../Qt4.4.3/include/QtGui' -I'../../../Qt4.4.3/include' -I'.' -I'i:/Dev/Qt4.4.3/include/ActiveQt' -I'release' -I'.' -I'../../../Qt4.4.3/mkspecs/default'
    ???
    C'est tout moche, j'ai des chemins en double, et j'ai pas QtSvg!

    Question1: Pourquoi mon Makefile.Release a cette tete?

    Si je corrige à la main (je remplace un QtCore par QtSvg dans INCPATH), ça compile, mais j'ai une autre erreur à l'édition de liens:


    [Linker error] undefined reference to `_imp___ZN16QGraphicsSvgItemC1ERK7QStringP13QGraphicsItem'


    Cette erreur est liée à la ligne
    scene->addItem(new QGraphicsSvgItem("cubic.svg"));

    Si je la commente, ça linke et ca tourne (mais j'ai pas mon widget!)

    Question2:
    Qu'est-ce que c'est que cette erreur???

    Si quelqu'un peux tester chez lui, et me dire si j'ai un probleme d'installation de Qt, si j'uytilise pas les bonnes commandes ou autre...

    Merci beaucoup, là j'ai plus d'idée...

  2. #2
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    Tu ouvres le .pro et tu rajoutes
    (ou tu le rajoutes à la liste déjà présente).
    C'est pour préciser quels modules Qt utiliser dans ton projet. Si tu lui dis pas d'utiliser svg, il s'en sert pas.
    Ensuite un qmake et make, et normalement c'est gagné.

    Sinon pour la question 2 c'est que tu as rajouté à la main le path des includes pour compiler, mais au link il n'a pas le path pour linker avec la lib svg.

  3. #3
    Membre habitué
    Inscrit en
    Octobre 2006
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 8
    Par défaut Resolu!
    Merci beaucoup!

    Ca compile et ca marche, magnifique!

    Je viens de voir que la modif du fichier .pro avec QT += svg était indiquée dans la doc...Je vais m'acheter des lunettes.

    Par contre, j'ai toujours un INCPATH avec tous les chemins en double...

    En tout cas, un grand merci!

  4. #4
    Membre chevronné

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Par défaut
    Oui les paths sont un peu en double, mais c'est pas très important , ça fait juste des lignes de commandes plus longues.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 035
    Par défaut
    Salut.
    es ce ?

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

Discussions similaires

  1. [debutant]probleme cast et compilation
    Par Battosaiii dans le forum C
    Réponses: 7
    Dernier message: 31/10/2005, 20h00
  2. Probleme soudain de compilation
    Par norkius dans le forum C++
    Réponses: 10
    Dernier message: 20/10/2005, 21h10
  3. Problème X après compilation noyau 2.6.13.2
    Par nicodeme dans le forum Applications et environnements graphiques
    Réponses: 9
    Dernier message: 08/10/2005, 14h41
  4. [debutant] probleme a la compilation
    Par jay-hut dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 13/12/2004, 17h30
  5. [NetBeans] [Ant] Problème à la compil'
    Par GLDavid dans le forum NetBeans
    Réponses: 2
    Dernier message: 05/07/2004, 21h10

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