Almost everything causes a multiple definition error.

Midnightas
Posts: 8
Joined: Fri Aug 24, 2018 9:03 pm

Almost everything causes a multiple definition error.

Post by Midnightas »

I simply copied the source of Bullet onto my project that is to be built with `-m32` but when it goes into the object file linking stage pretty much everything causes a multiple definition error.

Here's just around 5-10% of it.

Code: Select all

obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::jump(btVector3 const&)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:874: multiple definition of `btKinematicCharacterController::jump(btVector3 const&)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:874: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::setGravity(btVector3 const&)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:895: multiple definition of `btKinematicCharacterController::setGravity(btVector3 const&)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:895: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::setUpVector(btVector3 const&)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:965: multiple definition of `btKinematicCharacterController::setUpVector(btVector3 const&)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:965: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::getGravity() const':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:902: multiple definition of `btKinematicCharacterController::getGravity() const'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:902: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::getMaxSlope() const':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:913: multiple definition of `btKinematicCharacterController::getMaxSlope() const'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:913: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::setMaxPenetrationDepth(float)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:918: multiple definition of `btKinematicCharacterController::setMaxPenetrationDepth(float)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:918: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::getMaxPenetrationDepth() const':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:923: multiple definition of `btKinematicCharacterController::getMaxPenetrationDepth() const'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:923: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::onGround() const':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:928: multiple definition of `btKinematicCharacterController::onGround() const'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:928: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::getUpAxisDirections()':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:938: multiple definition of `btKinematicCharacterController::getUpAxisDirections()'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:938: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::debugDraw(btIDebugDraw*)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:945: multiple definition of `btKinematicCharacterController::debugDraw(btIDebugDraw*)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:945: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::setUpInterpolate(bool)':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:949: multiple definition of `btKinematicCharacterController::setUpInterpolate(bool)'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:949: first defined here
obj/btBulletDynamicsAll.o: In function `btKinematicCharacterController::getRotation(btVector3&, btVector3&) const':
/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:988: multiple definition of `btKinematicCharacterController::getRotation(btVector3&, btVector3&) const'
obj/BulletDynamics/Character/btKinematicCharacterController.o:/home/ERRRRRR/cpp/wosh/src/BulletDynamics/Character/btKinematicCharacterController.cpp:988: first defined here
I made sure, and no object file was being linked twice.
Midnightas
Posts: 8
Joined: Fri Aug 24, 2018 9:03 pm

Re: Almost everything causes a multiple definition error.

Post by Midnightas »

Immediately after posting this I realized the error. The "*All.cpp" files were including other .cpp files. Simply delete those.