Buenas!
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:
#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"
¿Alguna solución para solucionar esto sin tener que añadir ../../ y modificar cada cabecera ( en realidad son muchas...muuuuuuuuchas)
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.