Bonjour,
Je me présente :
Je suis étudiant en Master 2 en géomatique.
Pour un projet je dois réaliser la liaison entre une base de données et un moteur 3D.
C’est un projet qui se déroule sur 10 mois sur mon temps libre.
Ca fait déjà 2 mois que je suis dessus et j’y ai consacré pour l’instant environs 150 heures…(dont l’apprentissage du C++ mais là ca commence à le faire comme on dit ;o) ).
Mon plan est le suivant :
Savoir utiliser Ogre 3D (pour l’instant j’arrive à compiler, à faire charger des objets à les faire bouger…)
Savoir utiliser un moteur physique (c’est là que les problèmes commencent)
Importer les mesh depuis la base de données (en regardant comment fonctionne ogreXMLConverter)
J’utilise :
Visual C++ 2005 Express (avec le SP1)
OgreSDK 1.4.5 pr VC8
OgreBullet_SourceSDK
Bullet v 2.64
Pour info, je n’utilise pas ODE car je n’arrive pas à compiler avec (problème avec OIS, mais comme j’utilise la 1.4.5 (j’ai aussi testé avec la 1.2.5) et que les exemples de code source que j’ai sont plus anciens… ).
Et à priori, Bullet est mieux.
J’arrive à compiler les exemples de Bullet (dans le répertoire bullet-2.64\msvc\8)
Le problème vient lorsque j’essaie de compiler les exemples que j’ai trouvé qui utilisent Bullet et Ogre.
http://www.bulletphysics.com/Bullet/...st=0&sk=t&sd=a
(fichier BulletOgreTestSrc.zip, problème lors de la compilation, et j’ai essayé aussi avec Ogre 1.2.5 )
http://www.ogre3d.org/phpBB2/viewtop...56dc2bbc3cf699
et
http://tuan.kuranes.free.fr/Ogre.html
Celui là est bien précisé « Only vc8 + Eihort compatible » donc normalement ca devrait fonctionner.
Donc en voulant compiler les démos de BulletOgre (la deuxième source et j’ai bien pris le Ogre_Bullet_Dynamics_Demos_SDK et non pas le CVS), voilà ce que j’obtiens comme genre d’erreur :
OgreBulletListener.cpp
d:\OgreBullet\Collisions\include\OgreBulletCollisionsWorld.h(75) : error C2146: syntax error : missing ';' before identifier 'mDefaultCollisionConfiguration'
d:\OgreBullet\Collisions\include\OgreBulletCollisionsWorld.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\OgreBullet\Collisions\include\OgreBulletCollisionsWorld.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\OgreBullet\Collisions\include\Utils/OgreBulletConverter.h(66) : error C2039: 'w' : is not a member of 'btQuaternion'
d:\ogrebullet\others\echos\extern\bullet\LinearMath/btQuaternion.h(22) : see declaration of 'btQuaternion'
..\..\..\src\OgreBulletListener.cpp(1164) : fatal error C1903: unable to recover from previous error(s); stopping compilation
Donc, soit il y a une erreur dans le code source, étonnant quand même ?
J’ai un peu fouillé et
http://www.ogre3d.org/phpBB2addons/v...asc&highlight=
J’ai fais 2 trois modifs…et là j’ai l’erreur :
OgreBulletCollisionsPrecompiled.cpp
d:\ogrebullet\collisions\include\OgreBulletCollisionsWorld.h(75) : error C2146: syntax error : missing ';' before identifier 'mDefaultCollisionConfiguration'
d:\ogrebullet\collisions\include\OgreBulletCollisionsWorld.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
d:\ogrebullet\collisions\include\OgreBulletCollisionsWorld.h(75) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
J’ai donc été sur le CVS pour voir si il y avait une mise à jour de OgreBulletCollisionsWorld.h (mais il y a la même ligne…)
Sinon, je ne sais pas d’où cela peut provenir.
Merci
Partager