Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2013, 16:59
ShotoReaper
 
Fecha de Ingreso: septiembre-2012
Mensajes: 38
Antigüedad: 11 años, 8 meses
Puntos: 0
Problema libreria .a y cabeceras

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.