(FIXED) Link Error OGREBULLET(SVN,Eihort)+Bullet 2.69(SVN)

siddhant

31-05-2008 13:13:40

I am getting following link error when building ogrebullet :-

Configuration i am using :-

a) OGRE 1.4.8 latest from svn
b) bullet 2.69 from svn
c) ogrebullet from svn

I am using ogrebullet_cvs.sln to build the solution.

Linking...
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>main.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Terrain_Demo::frameStarted(float)" (?frameStarted@Terrain_Demo@@UAE_NM@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Terrain_Demo::keyReleased(enum OIS::KeyCode)" (?keyReleased@Terrain_Demo@@UAEXW4KeyCode@OIS@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Terrain_Demo::keyPressed(enum OIS::KeyCode)" (?keyPressed@Terrain_Demo@@UAEXW4KeyCode@OIS@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Terrain_Demo::init(class Ogre::Root *,class Ogre::RenderWindow *,class OgreBulletApplication *)" (?init@Terrain_Demo@@UAEXPAVRoot@Ogre@@PAVRenderWindow@3@PAVOgreBulletApplication@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Ragdoll_Demo::frameEnded(float)" (?frameEnded@Ragdoll_Demo@@UAE_NM@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Ragdoll_Demo::frameStarted(float)" (?frameStarted@Ragdoll_Demo@@UAE_NM@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Ragdoll_Demo::button0Pressed(void)" (?button0Pressed@Ragdoll_Demo@@UAEXXZ)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Ragdoll_Demo::keyPressed(enum OIS::KeyCode)" (?keyPressed@Ragdoll_Demo@@UAEXW4KeyCode@OIS@@@Z)
1>main.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Ragdoll_Demo::init(class Ogre::Root *,class Ogre::RenderWindow *,class OgreBulletApplication *)" (?init@Ragdoll_Demo@@UAEXPAVRoot@Ogre@@PAVRenderWindow@3@PAVOgreBulletApplication@@@Z)
1>OgreBulletCollisions.lib(OgreBulletCollisionsWorld.obj) : error LNK2001: unresolved external symbol "public: static void __cdecl btGImpactCollisionAlgorithm::registerAlgorithm(class btCollisionDispatcher *)" (?registerAlgorithm@btGImpactCollisionAlgorithm@@SAXPAVbtCollisionDispatcher@@@Z)
1>OgreBulletCollisions.lib(OgreBulletCollisionsMeshToShapeConverter.obj) : error LNK2001: unresolved external symbol "public: __thiscall OgreBulletCollisions::CapsuleCollisionShape::CapsuleCollisionShape(float,float,class Ogre::Vector3 const &)" (??0CapsuleCollisionShape@OgreBulletCollisions@@QAE@MMABVVector3@Ogre@@@Z)
1>..\..\bin\Release/OgreBulletDynamicsDemo.exe : fatal error LNK1120: 11 unresolved external

siddhant

31-05-2008 17:19:28

After some basic manipulation i am able to build ogrebullet now. The problem is that in the project settings there are files missing which are part of the of the ogre bullet and the result is that many files are not being compiled while building the libraries. Names of the files missing (that need to be added in the respective component source files) :-

In Dynamic_demos add files :-

a) Ragdoll_Demo.cpp
b) Terrain_Demo.cpp

In Collison Shapes add files :-

a) OgreBulletCollisionsCapsuleShape.cpp
b) OgreBulletCollisionsGImpactShape.cpp

Also in project settings for Dynamic_Demos in command line for linker option add libGIMPACT.lib.

I hope this helps.