Problem building simple Bullet application

erlendlor
Posts: 1
Joined: Thu Jul 01, 2010 5:41 pm

Problem building simple Bullet application

Post by erlendlor »

I'm having trouble building a simple bullet application on Ubuntu Linux 10.04 using Bullet 2.76 (Release version, Unix line endings) . The Application consists of the following file named 'Main.cpp':
-----------------------------------
#include <GL/gl.h>
#include <GL/glut.h>
#include "btBulletDynamicsCommon.h"

void display()
{
glClear(GL_COLOR_BUFFER_BIT);

glBegin(GL_POLYGON);
glVertex2f(-0.5, -0.5);
glVertex2f(-0.5, 0.5);
glVertex2f(0.5, 0.5);
glVertex2f(0.5, -0.5);
glEnd();

glFlush();
}

int main(int argc, char ** argv)
{
glutInit(&argc, argv);
glutCreateWindow("Test");
glutDisplayFunc(display);
glutMainLoop();
}
----------------------------------

The Bullet include files reside in /usr/local/include
The Bullet libraries reside in /usr/local/lib

The application is built using the following command:
g++ src/Main.cpp -o testBin -lGL -lglut /usr/local/lib/libBulletCollision.a /usr/local/lib/libBulletDynamics.a /usr/local/lib/libLinearMath.a

I get the following error:
----------------------
/usr/local/lib/libBulletDynamics.a(btTypedConstraint.o): In function `btRigidBody::~btRigidBody()':
btTypedConstraint.cpp:(.text._ZN11btRigidBodyD1Ev[btRigidBody::~btRigidBody()]+0x71): undefined reference to `btCollisionObject::~btCollisionObject()'
btTypedConstraint.cpp:(.text._ZN11btRigidBodyD1Ev[btRigidBody::~btRigidBody()]+0x5b): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::serialize(void*, btSerializer*) const':
btRigidBody.cpp:(.text+0x45d): undefined reference to `btCollisionObject::serialize(void*, btSerializer*) const'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::btRigidBody(float, btMotionState*, btCollisionShape*, btVector3 const&)':
btRigidBody.cpp:(.text+0x1c35): undefined reference to `btCollisionObject::btCollisionObject()'
btRigidBody.cpp:(.text+0x1d83): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::btRigidBody(float, btMotionState*, btCollisionShape*, btVector3 const&)':
btRigidBody.cpp:(.text+0x1da5): undefined reference to `btCollisionObject::btCollisionObject()'
btRigidBody.cpp:(.text+0x1ef3): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::btRigidBody(btRigidBody::btRigidBodyConstructionInfo const&)':
btRigidBody.cpp:(.text+0x1f0e): undefined reference to `btCollisionObject::btCollisionObject()'
btRigidBody.cpp:(.text+0x1f67): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::btRigidBody(btRigidBody::btRigidBodyConstructionInfo const&)':
btRigidBody.cpp:(.text+0x1f8e): undefined reference to `btCollisionObject::btCollisionObject()'
btRigidBody.cpp:(.text+0x1fe7): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o): In function `btRigidBody::~btRigidBody()':
btRigidBody.cpp:(.text._ZN11btRigidBodyD0Ev[btRigidBody::~btRigidBody()]+0x56): undefined reference to `btCollisionObject::~btCollisionObject()'
btRigidBody.cpp:(.text._ZN11btRigidBodyD0Ev[btRigidBody::~btRigidBody()]+0x79): undefined reference to `btCollisionObject::~btCollisionObject()'
/usr/local/lib/libBulletDynamics.a(btRigidBody.o):(.rodata._ZTI11btRigidBody[typeinfo for btRigidBody]+0x8): undefined reference to `typeinfo for btCollisionObject'
collect2: ld returned 1 exit status
--------------------------

Any suggestions?