DeepMimic: Build error on Windows 10 (error LNK2001: unresolved external symbol)

Hi

I’m getting these errors when building DeepMimicCore. I’ve already built and included bullet, OpenGL, and swig. Any idea what the problem is?

1>GroundPlane.obj : error LNK2001: unresolved external symbol "public: __cdecl btStaticPlaneShape::btStaticPlaneShape(class btVector3 const &,float)" (??0btStaticPlaneShape@@QEAA@AEBVbtVector3@@M@Z) 1>MultiBody.obj : error LNK2001: unresolved external symbol "public: float const * __cdecl btMultiBody::getJointVelMultiDof(int)const " (?getJointVelMultiDof@btMultiBody@@QEBAPEBMH@Z) 1>MultiBody.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setupPlanar(int,float,class btVector3 const &,int,class btQuaternion const &,class btVector3 const &,class btVector3 const &,bool)" (?setupPlanar@btMultiBody@@QEAAXHMAEBVbtVector3@@HAEBVbtQuaternion@@00_N@Z) 1>MultiBody.obj : error LNK2001: unresolved external symbol "public: __cdecl btMultiBody::btMultiBody(int,float,class btVector3 const &,bool,bool,bool)" (??0btMultiBody@@QEAA@HMAEBVbtVector3@@_N11@Z) 1>SimBodyJoint.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::addJointTorqueMultiDof(int,float const *)" (?addJointTorqueMultiDof@btMultiBody@@QEAAXHPEBM@Z) 1>SimBodyJoint.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setJointVelMultiDof(int,float *)" (?setJointVelMultiDof@btMultiBody@@QEAAXHPEAM@Z) 1>SimBodyJoint.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setJointPosMultiDof(int,float *)" (?setJointPosMultiDof@btMultiBody@@QEAAXHPEAM@Z) 1>SimBodyJoint.obj : error LNK2001: unresolved external symbol "public: float * __cdecl btMultiBody::getJointPosMultiDof(int)" (?getJointPosMultiDof@btMultiBody@@QEAAPEAMH@Z) 1>SimBodyJoint.obj : error LNK2001: unresolved external symbol "public: float * __cdecl btMultiBody::getJointVelMultiDof(int)" (?getJointVelMultiDof@btMultiBody@@QEAAPEAMH@Z) 1>SimCharacter.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setupSpherical(int,float,class btVector3 const &,int,class btQuaternion const &,class btVector3 const &,class btVector3 const &,bool)" (?setupSpherical@btMultiBody@@QEAAXHMAEBVbtVector3@@HAEBVbtQuaternion@@00_N@Z) 1>SimCharacter.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setupRevolute(int,float,class btVector3 const &,int,class btQuaternion const &,class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (?setupRevolute@btMultiBody@@QEAAXHMAEBVbtVector3@@HAEBVbtQuaternion@@000_N@Z) 1>SimCharacter.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setupPrismatic(int,float,class btVector3 const &,int,class btQuaternion const &,class btVector3 const &,class btVector3 const &,class btVector3 const &,bool)" (?setupPrismatic@btMultiBody@@QEAAXHMAEBVbtVector3@@HAEBVbtQuaternion@@000_N@Z) 1>SimCharacter.obj : error LNK2001: unresolved external symbol "public: void __cdecl btMultiBody::setupFixed(int,float,class btVector3 const &,int,class btQuaternion const &,class btVector3 const &,class btVector3 const &,bool)" (?setupFixed@btMultiBody@@QEAAXHMAEBVbtVector3@@HAEBVbtQuaternion@@00_N@Z) 1>SimCharacter.obj : error LNK2001: unresolved external symbol "public: __cdecl btMultiBodyJointLimitConstraint::btMultiBodyJointLimitConstraint(class btMultiBody *,int,float,float)" (??0btMultiBodyJointLimitConstraint@@QEAA@PEAVbtMultiBody@@HMM@Z) 1>SimJoint.obj : error LNK2001: unresolved external symbol "public: void __cdecl btAngularLimit::set(float,float,float,float,float)" (?set@btAngularLimit@@QEAAXMMMMM@Z) 1>SimJoint.obj : error LNK2001: unresolved external symbol "public: float __cdecl btHingeConstraint::getHingeAngle(void)" (?getHingeAngle@btHingeConstraint@@QEAAMXZ) 1>SimRigidBody.obj : error LNK2001: unresolved external symbol "public: void __cdecl btRigidBody::setDamping(float,float)" (?setDamping@btRigidBody@@QEAAXMM@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getContactBreakingThreshold(float)const " (?getContactBreakingThreshold@btCollisionShape@@UEBAMM@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual float __cdecl btCollisionShape::getAngularMotionDisc(void)const " (?getAngularMotionDisc@btCollisionShape@@UEBAMXZ) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl btCollisionShape::getBoundingSphere(class btVector3 &,float &)const " (?getBoundingSphere@btCollisionShape@@UEBAXAEAVbtVector3@@AEAM@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl btSphereShape::calculateLocalInertia(float,class btVector3 &)const " (?calculateLocalInertia@btSphereShape@@UEBAXMAEAVbtVector3@@@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual void __cdecl btConvexShape::project(class btTransform const &,class btVector3 const &,float &,float &,class btVector3 &,class btVector3 &)const " (?project@btConvexShape@@UEBAXAEBVbtTransform@@AEBVbtVector3@@AEAM2AEAV3@3@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual float __cdecl btMultiBodyConstraintSolver::solveGroupCacheFriendlyFinish(class btCollisionObject * *,int,struct btContactSolverInfo const &)" (?solveGroupCacheFriendlyFinish@btMultiBodyConstraintSolver@@UEAAMPEAPEAVbtCollisionObject@@HAEBUbtContactSolverInfo@@@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: virtual float __cdecl btMultiBodyConstraintSolver::solveGroup(class btCollisionObject * *,int,class btPersistentManifold * *,int,class btTypedConstraint * *,int,struct btContactSolverInfo const &,class btIDebugDraw *,class btDispatcher *)" (?solveGroup@btMultiBodyConstraintSolver@@UEAAMPEAPEAVbtCollisionObject@@HPEAPEAVbtPersistentManifold@@HPEAPEAVbtTypedConstraint@@HAEBUbtContactSolverInfo@@PEAVbtIDebugDraw@@PEAVbtDispatcher@@@Z) 1>World.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl btMultiBodyConstraintSolver::solveSingleIteration(int,class btCollisionObject * *,int,class btPersistentManifold * *,int,class btTypedConstraint * *,int,struct btContactSolverInfo const &,class btIDebugDraw *)" (?solveSingleIteration@btMultiBodyConstraintSolver@@MEAAMHPEAPEAVbtCollisionObject@@HPEAPEAVbtPersistentManifold@@HPEAPEAVbtTypedConstraint@@HAEBUbtContactSolverInfo@@PEAVbtIDebugDraw@@@Z) 1>World.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl btMultiBodyConstraintSolver::solveGroupCacheFriendlySetup(class btCollisionObject * *,int,class btPersistentManifold * *,int,class btTypedConstraint * *,int,struct btContactSolverInfo const &,class btIDebugDraw *)" (?solveGroupCacheFriendlySetup@btMultiBodyConstraintSolver@@MEAAMPEAPEAVbtCollisionObject@@HPEAPEAVbtPersistentManifold@@HPEAPEAVbtTypedConstraint@@HAEBUbtContactSolverInfo@@PEAVbtIDebugDraw@@@Z) 1>World.obj : error LNK2001: unresolved external symbol "public: __cdecl btCapsuleShape::btCapsuleShape(float,float)" (??0btCapsuleShape@@QEAA@MM@Z) 1>World.obj : error LNK2001: unresolved external symbol "protected: virtual float __cdecl btSequentialImpulseConstraintSolver::solveGroupCacheFriendlyIterations(class btCollisionObject * *,int,class btPersistentManifold * *,int,class btTypedConstraint * *,int,struct btContactSolverInfo const &,class btIDebugDraw *)" (?solveGroupCacheFriendlyIterations@btSequentialImpulseConstraintSolver@@MEAAMPEAPEAVbtCollisionObject@@HPEAPEAVbtPersistentManifold@@HPEAPEAVbtTypedConstraint@@HAEBUbtContactSolverInfo@@PEAVbtIDebugDraw@@@Z) 1>E:\Aalto University\ProjectSources\DeepMimic\DeepMimicCore\_DeepMimicCore.pyd : fatal error LNK1120: 28 unresolved externals

About this issue

  • Original URL
  • State: closed
  • Created 5 years ago
  • Comments: 21 (2 by maintainers)

Commits related to this issue

Most upvoted comments

Seems like I finally solved my DoublePrecision trouble. In order to not manually remove the double-precision-flag in Preprocessor Definitions for every 62 projects, I

  1. removed folders “\bin” and “\build3\vs2010”,
  2. checked that my CMakeLists.txt file has the USE_DOUBLE_PRECISION flag in OFF position,
  3. in the build_visual_studio_vr_pybullet_double.bat file I deleted the “–double” option (that is the point I haven’t done before, and I hardly believe that was the clue for me),
  4. ran this .bat file
  5. simply opened the 0_Bullet3Solution.sln and built it under “Release” and “x64” options.

It was successfully built, and after that my DeepMimicCore.sln wal successfully built as well and produced the so long awaited DeepMimicCore.py.

Thank everybody for help!