non non j'ai compilé en release et je lance en release. je vais voir pour les dll, pour moi QtBuilder a créé les dll et les lib dans Qt\lib, mais sait-on jamais
-edit-
j'ai fait le test en plaçant les dll de Qt\bin dans release->erreur, et en plaçant celles de Qt\lib dans release->idem. si je ne met rien dans release, il ne trouve pas une dll (QtGui4 je crois) donc a priori c'est pas ça.
Absolument pas
C'est ça depuis 4.4 sûr, et il me semble depuis 4.3 mais là j'en suis moins sûr
Je viens de faire des recherches, c'est depuis la 4.3.2, mais ce n'est marqué sur aucune page de Trolltech, juste un mot dans leur blog.
salut,
j'me suis occupé d'une autre partie de mon projet pendant la dernière dizaine de jours, et en voulant recompiler de la même façon que précédemment j'obtenais ces lignes dans la console après un qmake -tp vc :
WARNING: Unable to generate output for: C:/.........//Makefile.Release [TEMPLATE vcapp]
WARNING: Unable to generate output for: C:/.........//Makefile.Debug [TEMPLATE vcapp]
j'ai corrigé ce problème en écrivant à la place :
qmake -tp vc -spec C:\Qt\4.4.0\mkspecs\win32-msvc2005,
résolution dépendante de l'OS et de l'IDE, que j'ai trouvée à cette adresse : http://www.qtforum.org/article/23745...--t-vcapp.html
je n'ai pas idée de ce que j'ai pu faire durant ces 2 semaines qui aient pu modifier cela.
bref, c'est juste pour info que je fais part de ce problème.
++
hey ! c'est encore moi bon ok je sors...
plus serieusement, j'ai résolu le problème du message d'erreur lorsque je ferme l'application, tout simplement en incluant dans la fonction membre "void OgreWidget::initOgreSystem()" une déclaration de ressources et leur initialisation.
voici donc ce que j'ai ajouté juste après la création de ogreRoot :
(ne pas oublier d'ajouter un "using namespace Ogre; " en haut de ogrewidget.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 String secName, typeName, archName; ConfigFile cf; cf.load("resources.cfg"); ConfigFile::SectionIterator seci = cf.getSectionIterator(); while (seci.hasMoreElements()) { secName = seci.peekNextKey(); ConfigFile::SettingsMultiMap *settings = seci.getNext(); ConfigFile::SettingsMultiMap::iterator i; for (i = settings->begin(); i != settings->end(); ++i) { typeName = i->first; archName = i->second; ResourceGroupManager::getSingleton().addResourceLocation(archName, typeName, secName); } }
l'initialisation doit se faire uniquement après avoir créé une render window, donc après la définition de renderwindow (ogreRenderWindow = ogreRoot->createRenderWindow("Ogre rendering window",width(), height(), true, &viewConfig); ), j'ai ajouté ces deux lignes :
comme cela, ça marche sans problème, en ayant pris soin de placer un fichier resources.cfg dans le "working directory" (vocabulaire VS2005). j'ai pris mon fichier habituel (je pense qu'il etait inclus dans le SDK de Ogre).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TextureManager::getSingleton().setDefaultNumMipmaps(5); ResourceGroupManager::getSingleton().initialiseAllResourceGroups();
Et surtout merci pour tous les cours tutoriels QT : http://qt.developpez.com/tutoriels/
bonne journée
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager