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 tuto Qt Ogre


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut Problème tuto Qt Ogre
    Bonjour,

    travaillant sous ogre et ayant besoin d'un petit interface de choix d'options avant de lancer mon rendu, j'ai décidé de faire ça avec Qt. J'ai donc suivi le tutoriel "Intégrer Ogre à Qt", dumoins la première partie.

    au moment de compiler-lier (par la méthode décrite sur le site, c'est à dire qmake et make dans la console Qt command prompt), j'obtiens, après que la compilation se soit a priori bien déroulée, plusieurs ligne comme celles-ci :

    release/ogrewidget.o(.text+0x2fb):ogrewidget.cpp: undefined reference to `Ogre::Root::~Root()'
    release/ogrewidget.o(.text+0x375):ogrewidget.cpp: undefined reference to `Ogre::Root::detachRenderTarget(Ogre::RenderTarget*)'
    release/ogrewidget.o(.text+0x392):ogrewidget.cpp: undefined reference to `Ogre::Root::destroySceneManager(Ogre::SceneManager*)'

    auparavant j'ai modifié le fichier qt_ogre.pro comme suit :
    INCLUDEPATH += . C:\OgreSDK\include C:\OgreSDK\samples\include
    win32 {LIBS += -LC:\OgreSDK\lib}
    CONFIG(debug, debug|release) {LIBS += -lOgreGUIRenderer_d -lOgreMain_d -lCEGUIBase_d -lOIS_d -lode}
    CONFIG(release, debug|release) {LIBS += -lOgreGUIRenderer -lOgreMain -lCEGUIBase -lOIS -lode}

    et j'ai utilisé le fichier plugins.cfg utilisé par défaut par Ogre.

    Quelqu'un aurait-il une idée de ce qui ne va pas ?

    Merci

  2. #2
    Membre éclairé Avatar de duplo
    Inscrit en
    Octobre 2004
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Octobre 2004
    Messages : 294
    Par défaut
    salut, parfois ce genre de problème peux se régler par un make clean et tu recompile, sinon vérifie bien tes inclusion de header.

    Je ne peux t'en dire plus sans voir le code.

  3. #3
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Salut,

    Tu pourrais poster l'intégralité du log de compilation stp ? (après avoir nettoyé ce sera mieux: "make distclean && qmake && make".)

    Et autre chose à tester avant:
    win32 {LIBS += -LC:\OgreSDK\lib}
    # et les 2 suivantes
    Il me semble que ce n'est pas une syntaxe valide pour qmake, le retour à la ligne est, il me semble, important. Donc, en simplifiant au passage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    win32:LIBS += -LC:\OgreSDK\lib
    CONFIG(debug, debug|release) {
       LIBS += -lOgreGUIRenderer_d -lOgreMain_d -lCEGUIBase_d -lOIS_d -lode
    }
    CONFIG(release, debug|release) {
       LIBS += -lOgreGUIRenderer -lOgreMain -lCEGUIBase -lOIS -lode
    }

  4. #4
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut
    Citation Envoyé par IrmatDen Voir le message
    Et autre chose à tester avant:

    Il me semble que ce n'est pas une syntaxe valide pour qmake, le retour à la ligne est, il me semble, important. Donc, en simplifiant au passage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    win32:LIBS += -LC:\OgreSDK\lib
    CONFIG(debug, debug|release) {
       LIBS += -lOgreGUIRenderer_d -lOgreMain_d -lCEGUIBase_d -lOIS_d -lode
    }
    CONFIG(release, debug|release) {
       LIBS += -lOgreGUIRenderer -lOgreMain -lCEGUIBase -lOIS -lode
    }
    après avoir modifié le qt_ogre.pro, il n'y a aucune différence dans le log.

    Citation Envoyé par IrmatDen Voir le message
    Tu pourrais poster l'intégralité du log de compilation stp ? (après avoir nettoyé ce sera mieux: "make distclean && qmake && make".)
    Le voici :
    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
    ]C:\Documents and Settings\Pierre\Mes documents\Ogre\qt_ogre>make
    mingw32-make -f Makefile.Release
    mingw32-make[1]: Entering directory `C:/Documents and Settings/Pierre/Mes docume
    nts/Ogre/qt_ogre'
    C:\Qt\4.4.0\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG
    -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\4.4.0\include\QtCore" -I
    "c:\Qt\4.4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtGui" -I"c:\Qt\4.4.0\includ
    e\QtGui" -I"c:\Qt\4.4.0\include" -I"." -I"c:\OgreSDK\include" -I"c:\OgreSDK\samp
    les\include" -I"c:\Qt\4.4.0\include\ActiveQt" -I"release" -I"." -I"c:\Qt\4.4.0\m
    kspecs\win32-g++" -D__GNUC__ -DWIN32 main.cpp -o release\main.moc
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\4
    .4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtGui
    " -I"c:\Qt\4.4.0\include\QtGui" -I"c:\Qt\4.4.0\include" -I"." -I"c:\OgreSDK\incl
    ude" -I"c:\OgreSDK\samples\include" -I"c:\Qt\4.4.0\include\ActiveQt" -I"release"
     -I"." -I"c:\Qt\4.4.0\mkspecs\win32-g++" -o release\main.o main.cpp
    In file included from main.cpp:3:
    ogrewidget.h:35:8: warning: extra tokens at end of #endif directive
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\4
    .4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtGui
    " -I"c:\Qt\4.4.0\include\QtGui" -I"c:\Qt\4.4.0\include" -I"." -I"c:\OgreSDK\incl
    ude" -I"c:\OgreSDK\samples\include" -I"c:\Qt\4.4.0\include\ActiveQt" -I"release"
     -I"." -I"c:\Qt\4.4.0\mkspecs\win32-g++" -o release\ogrewidget.o ogrewidget.cpp
    In file included from ogrewidget.cpp:3:
    ogrewidget.h:35:8: warning: extra tokens at end of #endif directive
    C:\Qt\4.4.0\bin\moc.exe -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_NO_DEBUG
    -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\4.4.0\include\QtCore" -I
    "c:\Qt\4.4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtGui" -I"c:\Qt\4.4.0\includ
    e\QtGui" -I"c:\Qt\4.4.0\include" -I"." -I"c:\OgreSDK\include" -I"c:\OgreSDK\samp
    les\include" -I"c:\Qt\4.4.0\include\ActiveQt" -I"release" -I"." -I"c:\Qt\4.4.0\m
    kspecs\win32-g++" -D__GNUC__ -DWIN32 ogrewidget.h -o release\moc_ogrewidget.cpp
    g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
    -DQT_DLL -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -I"c:\Qt\4
    .4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtCore" -I"c:\Qt\4.4.0\include\QtGui
    " -I"c:\Qt\4.4.0\include\QtGui" -I"c:\Qt\4.4.0\include" -I"." -I"c:\OgreSDK\incl
    ude" -I"c:\OgreSDK\samples\include" -I"c:\Qt\4.4.0\include\ActiveQt" -I"release"
     -I"." -I"c:\Qt\4.4.0\mkspecs\win32-g++" -o release\moc_ogrewidget.o release\moc
    _ogrewidget.cpp
    In file included from release\moc_ogrewidget.cpp:10:
    release\/../ogrewidget.h:35:8: warning: extra tokens at end of #endif directive
    g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
    oc -Wl,-s -Wl,-subsystem,console -mthreads -Wl -o release\qt_ogre.exe release/ma
    in.o release/ogrewidget.o release/moc_ogrewidget.o  -L"c:\Qt\4.4.0\lib" -LC:\Ogr
    eSDK\lib -lOgreGUIRenderer -lOgreMain -lCEGUIBase -lOIS -lode -lQtGui4 -lQtCore4
     
    release/ogrewidget.o(.text+0x2fb):ogrewidget.cpp: undefined reference to `Ogre::
    Root::~Root()'
    release/ogrewidget.o(.text+0x375):ogrewidget.cpp: undefined reference to `Ogre::
    Root::detachRenderTarget(Ogre::RenderTarget*)'
    release/ogrewidget.o(.text+0x392):ogrewidget.cpp: undefined reference to `Ogre::
    Root::destroySceneManager(Ogre::SceneManager*)'
    release/ogrewidget.o(.text+0x44b):ogrewidget.cpp: undefined reference to `Ogre::
    Root::~Root()'
    release/ogrewidget.o(.text+0x4c5):ogrewidget.cpp: undefined reference to `Ogre::
    Root::detachRenderTarget(Ogre::RenderTarget*)'
    release/ogrewidget.o(.text+0x4e2):ogrewidget.cpp: undefined reference to `Ogre::
    Root::destroySceneManager(Ogre::SceneManager*)'
    release/ogrewidget.o(.text+0x59b):ogrewidget.cpp: undefined reference to `Ogre::
    Root::~Root()'
    release/ogrewidget.o(.text+0x625):ogrewidget.cpp: undefined reference to `Ogre::
    Root::detachRenderTarget(Ogre::RenderTarget*)'
    release/ogrewidget.o(.text+0x642):ogrewidget.cpp: undefined reference to `Ogre::
    Root::destroySceneManager(Ogre::SceneManager*)'
    release/ogrewidget.o(.text+0x6c8):ogrewidget.cpp: undefined reference to `Ogre::
    ColourValue::setAsARGB(unsigned int)'
    release/ogrewidget.o(.text+0x6d7):ogrewidget.cpp: undefined reference to `Ogre::
    Viewport::setBackgroundColour(Ogre::ColourValue const&)'
    release/ogrewidget.o(.text+0x769):ogrewidget.cpp: undefined reference to `Ogre::
    Root::_fireFrameStarted()'
    release/ogrewidget.o(.text+0x77f):ogrewidget.cpp: undefined reference to `Ogre::
    Root::_fireFrameEnded()'
    release/ogrewidget.o(.text+0x94c):ogrewidget.cpp: undefined reference to `Ogre::
    Root::Root(std::string const&, std::string const&, std::string const&)'
    release/ogrewidget.o(.text+0x9ef):ogrewidget.cpp: undefined reference to `Ogre::
    Root::getRenderSystemByName(std::string const&)'
    release/ogrewidget.o(.text+0xa33):ogrewidget.cpp: undefined reference to `Ogre::
    Root::setRenderSystem(Ogre::RenderSystem*)'
    release/ogrewidget.o(.text+0xa85):ogrewidget.cpp: undefined reference to `Ogre::
    Root::initialise(bool, std::string const&)'
    release/ogrewidget.o(.text+0xaa8):ogrewidget.cpp: undefined reference to `Ogre::
    StringUtil::BLANK'
    release/ogrewidget.o(.text+0xad1):ogrewidget.cpp: undefined reference to `Ogre::
    Root::createSceneManager(unsigned short, std::string const&)'
    release/ogrewidget.o(.text+0xb3e):ogrewidget.cpp: undefined reference to `Ogre::
    StringConverter::toString(unsigned int, unsigned short, char, std::_Ios_Fmtflags
    )'
    release/ogrewidget.o(.text+0xdf2):ogrewidget.cpp: undefined reference to `Ogre::
    Root::createRenderWindow(std::string const&, unsigned int, unsigned int, bool, s
    td::map<std::string, std::string, std::less<std::string>, std::allocator<std::pa
    ir<std::string const, std::string> > > const*)'
    release/ogrewidget.o(.text+0xf1c):ogrewidget.cpp: undefined reference to `Ogre::
    Viewport::setBackgroundColour(Ogre::ColourValue const&)'
    collect2: ld returned 1 exit status
    mingw32-make[1]: *** [release\qt_ogre.exe] Error 1
    mingw32-make[1]: Leaving directory `C:/Documents and Settings/Pierre/Mes documen
    ts/Ogre/qt_ogre'
    mingw32-make: *** [release] Error 2
    j'ai oublié de mentionner le lien vers l'article-tuto :
    http://irmatden.developpez.com/tutor...ation-ogre-qt/

    et les fichiers source sont ici : ftp://ftp-developpez.com/irmatden/tu...rs/qt_ogre.zip

  5. #5
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 26
    Par défaut
    bon j'ai du nouveau
    comme ça a tout l'air d'un probleme de lien, j'ai modifié mon qt_ogre en n'indiquant aucun repertoire de librairies, et aucun fichier. et Ô surprise j'ai les mêmes erreurs dans le log (je plaisante mais cela dit je suis surpris qu'il affiche une erreur pour ne pas avoir trouvé Ogre::~Root() alors qu'il n'en affiche pas pour Ogre:Root() ).

    seulement, si je remodifie le .pro en réajoutant les librairies et que je fais une faute de frappe en ecrivant un des fichiers (-lOgreMain par exemple), cette faute est détecté et il arrête le linkcar il trouve pas le dit fichier...

    donc en gros il détecte les librairies mais il en fait rien

  6. #6
    Membre Expert

    Avatar de IrmatDen
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 727
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 727
    Par défaut
    Merci pour le log, j'ai pû voir une bourde qui a échappé à tout le monde jusqu'ici (mais aucun rapport avec ton problème...)

    Est-ce que la compilation/liaison d'une appli n'utilisant qu'Ogre fonctionne ? (Genre en prenant l'un des tutoriaux)

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

Discussions similaires

  1. Problème tuto avec le fichier .htaccess
    Par Guillaume.S dans le forum Zend Framework
    Réponses: 5
    Dernier message: 08/11/2009, 13h29
  2. Problème tuto silverlight et mysql avec Linq
    Par Goops dans le forum Silverlight
    Réponses: 3
    Dernier message: 26/05/2009, 16h57
  3. Réponses: 5
    Dernier message: 11/09/2008, 19h15
  4. Problème de compilation Ogre -- Message d'erreur
    Par chroufa dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 18/03/2008, 19h55
  5. Problème pour compiler Ogre avec VS 2005
    Par Oxideur dans le forum Ogre
    Réponses: 2
    Dernier message: 01/03/2007, 18h33

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