Linker errors (BulletMultiThreaded)

skeen
Posts: 24
Joined: Wed Dec 08, 2010 11:59 am

Linker errors (BulletMultiThreaded)

Post by skeen »

ISSUE SOLVED: LINK ORDER WAS WRONG! - 'BulletMultiThreaded' HAS TO GO FIRST!

I'm trying to get my BulletApp, to run Multithreaded, using inspiration from the MultiThreadedDemo. - And the code seems fine, however in linking. I'm getting the following link errors:

Code: Select all

..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionTask.obj):SpuGatheringCollisionTask.cpp:(.text+0x7b7): undefined reference to `vtable for btConvexPointCloudShape'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionTask.obj):SpuGatheringCollisionTask.cpp:(.text+0x7fe): undefined reference to `vtable for btConvexPointCloudShape'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionTask.obj):SpuGatheringCollisionTask.cpp:(.text+0x1265): undefined reference to `vtable for btConvexPointCloudShape'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionTask.obj):SpuGatheringCollisionTask.cpp:(.text+0x12bb): undefined reference to `vtable for btConvexPointCloudShape'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x298): undefined reference to `btCollisionDispatcher::dispatchAllCollisionPairs(btOverlappingPairCache*, btDispatcherInfo const&, btDispatcher*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x3a6): undefined reference to `btCollisionDispatcher::~btCollisionDispatcher()'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x3f3): undefined reference to `btCollisionDispatcher::~btCollisionDispatcher()'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x40e): undefined reference to `btCollisionDispatcher::~btCollisionDispatcher()'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x435): undefined reference to `btCollisionDispatcher::btCollisionDispatcher(btCollisionConfiguration*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.text+0x39c): undefined reference to `btCollisionDispatcher::~btCollisionDispatcher()'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x10): undefined reference to `btCollisionDispatcher::findAlgorithm(btCollisionObject*, btCollisionObject*, btPersistentManifold*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x14): undefined reference to `btCollisionDispatcher::getNewManifold(void*, void*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x18): undefined reference to `btCollisionDispatcher::releaseManifold(btPersistentManifold*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x1c): undefined reference to `btCollisionDispatcher::clearManifold(btPersistentManifold*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x20): undefined reference to `btCollisionDispatcher::needsCollision(btCollisionObject*, btCollisionObject*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x24): undefined reference to `btCollisionDispatcher::needsResponse(btCollisionObject*, btCollisionObject*)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x38): undefined reference to `btCollisionDispatcher::allocateCollisionAlgorithm(int)'
..\..\libraries\bullet\lib\libBulletMultiThreaded.a(SpuGatheringCollisionDispatcher.obj):SpuGatheringCollisionDispatcher.cpp:(.rdata$_ZTV31SpuGatheringCollisionDispatcher[vtable for SpuGatheringCollisionDispatcher]+0x3c): undefined reference to `btCollisionDispatcher::freeCollisionAlgorithm(void))'
Obviously I got issues with my libBulletMultiThreaded.a, however how do I build it so it'll work, I'm using MinGW and Windows.
My code is an exact copy of the MultiThreadedDemo.
Last edited by skeen on Thu Dec 09, 2010 12:26 am, edited 2 times in total.
skeen
Posts: 24
Joined: Wed Dec 08, 2010 11:59 am

Re: Linker errors (BulletMultiThreaded)

Post by skeen »

Also going from Single to MultiThreaded bullet is there anything else but, the init I should change?