Hace poco he descargado el motor de físicas "Bullen Physics" para realizar unas pruebas, pero en lugar de pelearme con físicas, lo hago con su instalación.
Encontre un tutorial para generar una librería estática .a a partir de los archivos, que conseguí realizar sin problema. Después la añadí a mi proyecto junto con los headers...y es aquí donde aparece el problema.
Esta es la estructura (ajustada al problema) de mis cabeceras:
Include/
Bullet/
/BulletCollision
/CollisionDispatch/btCollisionWorld.h
/LinearMath
/btVector3.h
/btBulletDynamicsCommon.h
Pues al añadir a mi proyecto #include "Bullet/btBulletDynamicsCommon.h", el compilador me da error porque esta cabecera usa btCollisionWorld.h, que a su vez incluye otra ruta pero mal puesta. Para que veais:
btCollisionWorld.h
Código:
¿Alguna solución para solucionar esto sin tener que añadir ../../ y modificar cada cabecera ( en realidad son muchas...muuuuuuuuchas)#ifndef BT_COLLISION_WORLD_H #define BT_COLLISION_WORLD_H class btStackAlloc; class btCollisionShape; class btConvexShape; class btBroadphaseInterface; class btSerializer; #include "LinearMath/btVector3.h" //Según esto LinearMath deberia estar en CollisionDispatch #include "LinearMath/btTransform.h" #include "btCollisionObject.h" #include "btCollisionDispatcher.h" #include "BulletCollision/BroadphaseCollision/btOverlappingPairCache.h" #include "LinearMath/btAlignedObjectArray.h"
Info:
El orden venia asi en el descargable del motor.
Este es el tutorial que usé para generar la librería con cmake:
[URL="http://vgamec.blogspot.com.es/2011/09/instalar-bullet-physics-para-codeblocks.html"]http://vgamec.blogspot.com.es/2011/09/instalar-bullet-physics-para-codeblocks.html[/URL]
Utilizo CodeBlocks 12.11, con el compilador GCC version 4.7.1, 32 bit.