[SOLVED] OgreBullet build errors

HaimSh

24-03-2015 11:03:28

I am trying to build ogreBullet from visual studio 2013 x64
I generated the files from cMake of course.

OgreBulletCollisions builds fine but OgreBulletDynamics have errors and I cant figure out what lib file is missing.
its seems the problem with OgreBulletCollisions.lib but it is linked.

Error 14 error LNK2019: unresolved external symbol "public: void __cdecl OgreBulletCollisions::Object::showDebugShape(bool)" (?showDebugShape@Object@OgreBulletCollisions@@QEAAX_N@Z) referenced in function "public: void __cdecl OgreBulletDynamics::RigidBody::setShape(class Ogre::SceneNode *,class OgreBulletCollisions::CollisionShape *,float,float,float,class Ogre::Vector3 const &,class Ogre::Quaternion const &)" (?setShape@RigidBody@OgreBulletDynamics@@QEAAXPEAVSceneNode@Ogre@@PEAVCollisionShape@OgreBulletCollisions@@MMMAEBVVector3@4@AEBVQuaternion@4@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 18 error LNK2019: unresolved external symbol "public: void __cdecl OgreBulletCollisions::DebugLines::draw(void)" (?draw@DebugLines@OgreBulletCollisions@@QEAAXXZ) referenced in function "public: void __cdecl OgreBulletDynamics::DynamicsWorld::stepSimulation(float,int,float)" (?stepSimulation@DynamicsWorld@OgreBulletDynamics@@QEAAXMHM@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsWorld.obj OgreBulletDynamics
Error 19 error LNK2019: unresolved external symbol "public: void __cdecl OgreBulletCollisions::DebugLines::clear(void)" (?clear@DebugLines@OgreBulletCollisions@@QEAAXXZ) referenced in function "public: void __cdecl OgreBulletDynamics::DynamicsWorld::stepSimulation(float,int,float)" (?stepSimulation@DynamicsWorld@OgreBulletDynamics@@QEAAXMHM@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsWorld.obj OgreBulletDynamics
Error 2 error LNK2019: unresolved external symbol "public: virtual __cdecl OgreBulletCollisions::Object::~Object(void)" (??1Object@OgreBulletCollisions@@UEAA@XZ) referenced in function "public: virtual __cdecl OgreBulletDynamics::RigidBody::~RigidBody(void)" (??1RigidBody@OgreBulletDynamics@@UEAA@XZ) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 17 error LNK2019: unresolved external symbol "public: virtual __cdecl OgreBulletCollisions::CollisionsWorld::~CollisionsWorld(void)" (??1CollisionsWorld@OgreBulletCollisions@@UEAA@XZ) referenced in function "public: virtual __cdecl OgreBulletDynamics::DynamicsWorld::~DynamicsWorld(void)" (??1DynamicsWorld@OgreBulletDynamics@@UEAA@XZ) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsWorld.obj OgreBulletDynamics
Error 15 error LNK2019: unresolved external symbol "public: __cdecl OgreBulletCollisions::ObjectState::ObjectState(class OgreBulletCollisions::Object *)" (??0ObjectState@OgreBulletCollisions@@QEAA@PEAVObject@1@@Z) referenced in function "public: void __cdecl OgreBulletDynamics::RigidBody::setShape(class Ogre::SceneNode *,class OgreBulletCollisions::CollisionShape *,float,float,float,class Ogre::Vector3 const &,class Ogre::Quaternion const &)" (?setShape@RigidBody@OgreBulletDynamics@@QEAAXPEAVSceneNode@Ogre@@PEAVCollisionShape@OgreBulletCollisions@@MMMAEBVVector3@4@AEBVQuaternion@4@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 1 error LNK2019: unresolved external symbol "public: __cdecl OgreBulletCollisions::Object::Object(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class OgreBulletCollisions::CollisionsWorld *,bool)" (??0Object@OgreBulletCollisions@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVCollisionsWorld@1@_N@Z) referenced in function "public: __cdecl OgreBulletDynamics::RigidBody::RigidBody(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class OgreBulletDynamics::DynamicsWorld *,short,short)" (??0RigidBody@OgreBulletDynamics@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEAVDynamicsWorld@1@FF@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 16 error LNK2019: unresolved external symbol "public: __cdecl OgreBulletCollisions::CollisionsWorld::CollisionsWorld(class Ogre::SceneManager *,class Ogre::AxisAlignedBox const &,bool,bool,unsigned int)" (??0CollisionsWorld@OgreBulletCollisions@@QEAA@PEAVSceneManager@Ogre@@AEBVAxisAlignedBox@3@_N2I@Z) referenced in function "public: __cdecl OgreBulletDynamics::DynamicsWorld::DynamicsWorld(class Ogre::SceneManager *,class Ogre::AxisAlignedBox const &,class Ogre::Vector3 const &,bool,bool,unsigned int)" (??0DynamicsWorld@OgreBulletDynamics@@QEAA@PEAVSceneManager@Ogre@@AEBVAxisAlignedBox@3@AEBVVector3@3@_N3I@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsWorld.obj OgreBulletDynamics
Error 3 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::visitRenderables(class Ogre::Renderable::Visitor *,bool)" (?visitRenderables@Object@OgreBulletCollisions@@UEAAXPEAVVisitor@Renderable@Ogre@@_N@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 12 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::setTransform(class btVector3 const &,class btQuaternion const &)" (?setTransform@Object@OgreBulletCollisions@@UEAAXAEBVbtVector3@@AEBVbtQuaternion@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 13 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::setTransform(class btTransform const &)" (?setTransform@Object@OgreBulletCollisions@@UEAAXAEBVbtTransform@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 10 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::setPosition(class btVector3 const &)" (?setPosition@Object@OgreBulletCollisions@@UEAAXAEBVbtVector3@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 11 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::setOrientation(class btQuaternion const &)" (?setOrientation@Object@OgreBulletCollisions@@UEAAXAEBVbtQuaternion@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 9 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::_updateRenderQueue(class Ogre::RenderQueue *)" (?_updateRenderQueue@Object@OgreBulletCollisions@@UEAAXPEAVRenderQueue@Ogre@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 6 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::_notifyCurrentCamera(class Ogre::Camera *)" (?_notifyCurrentCamera@Object@OgreBulletCollisions@@UEAAXPEAVCamera@Ogre@@@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 5 error LNK2001: unresolved external symbol "public: virtual void __cdecl OgreBulletCollisions::Object::_notifyAttached(class Ogre::Node *,bool)" (?_notifyAttached@Object@OgreBulletCollisions@@UEAAXPEAVNode@Ogre@@_N@Z) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 8 error LNK2001: unresolved external symbol "public: virtual float __cdecl OgreBulletCollisions::Object::getBoundingRadius(void)const " (?getBoundingRadius@Object@OgreBulletCollisions@@UEBAMXZ) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 4 error LNK2001: unresolved external symbol "public: virtual class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __cdecl OgreBulletCollisions::Object::getMovableType(void)const " (?getMovableType@Object@OgreBulletCollisions@@UEBAAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 7 error LNK2001: unresolved external symbol "public: virtual class Ogre::AxisAlignedBox const & __cdecl OgreBulletCollisions::Object::getBoundingBox(void)const " (?getBoundingBox@Object@OgreBulletCollisions@@UEBAAEBVAxisAlignedBox@Ogre@@XZ) C:\files\programing\bullet\ogreBulletBuild\OgreBulletDynamicsRigidBody.obj OgreBulletDynamics
Error 20 error LNK1120: 19 unresolved externals C:\files\programing\bullet\ogreBulletBuild\Debug\OgreBulletDynamics.dll OgreBulletDynamics


The linker command Line
/OUT:"C:\files\programing\bullet\ogreBulletBuild\Debug\OgreBulletDynamics.dll" /MANIFEST /NXCOMPAT /PDB:"C:/files/programing/bullet/ogreBulletBuild/Debug/OgreBulletDynamics.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "comdlg32.lib" "advapi32.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletDynamics_Debug.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletSoftBody_Debug.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletCollision_Debug.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\LinearMath_Debug.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\OpenGLSupport_Debug.lib" "C:\files\programing\bullet\Ogrebuild\.\lib\Debug\ConvexDecomposition_Debug.lib" "C:\files\programing\orge3d\OGRE-SDK-1.9.0-vc120-x64-13.12.2014\lib\Debug\OgreMain_d.lib" "libboost_thread-vc120-mt-gd-1_58.lib" "OgreBulletCollisions.lib" /IMPLIB:"C:/files/programing/bullet/ogreBulletBuild/Debug/OgreBulletDynamics.lib" /DEBUG /DLL /MACHINE:X64 /INCREMENTAL /PGD:"C:\files\programing\bullet\ogreBulletBuild\Debug\OgreBulletDynamics.pgd" /SUBSYSTEM:CONSOLE /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"OgreBulletDynamics.dir\Debug\OgreBulletDynamics.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"C:\files\programing\bullet\ogreBulletBuild\Debug\" /LIBPATH:"C:\files\programing\boost_1_57_0\lib" /TLBID:1

The AdditionalLibraryDirectories.
C:\files\programing\bullet\ogreBulletBuild\Debug\;C:\files\programing\boost_1_57_0\lib;%(AdditionalLibraryDirectories)

The input.
kernel32.lib;user32.lib;gdi32.lib;winspool.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;comdlg32.lib;advapi32.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletDynamics_Debug.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletSoftBody_Debug.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\BulletCollision_Debug.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\LinearMath_Debug.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\OpenGLSupport_Debug.lib;C:\files\programing\bullet\Ogrebuild\.\lib\Debug\ConvexDecomposition_Debug.lib;C:\files\programing\orge3d\OGRE-SDK-1.9.0-vc120-x64-13.12.2014\lib\Debug\OgreMain_d.lib;libboost_thread-vc120-mt-gd-1_58.lib;OgreBulletCollisions.lib

Thanks you for your time and help.

AlexeyKnyshev

02-04-2015 15:23:42

Looks like like linker error. Please, post linker options there.

Regards, Alexey Knyshev

HaimSh

18-04-2015 14:48:35

changing both OgreBulletDynamics and OgreBulletCollisions to static library fixed it.
thanks anyway.