Horde3D http://horde3d.org/forums/ |
|
Bullet Extension Build Problems [Solved] http://horde3d.org/forums/viewtopic.php?f=2&t=2298 |
Page 1 of 1 |
Author: | rasteron [ 26.01.2017, 16:21 ] |
Post subject: | Bullet Extension Build Problems [Solved] |
Hi again, I'm trying to add Bullet Extension made by penguins916 here, however I'm getting Linker errors (unresolved externals) when building Horde3D.dll. I tried with Bullet 2.8.2 and 2.74 libraries that can be found on the GameEngine version. I also tried to compile a separate Bullet download package (2.8.2) on GitHub but with same errors. Here is the error list thrown by VC2008 Code: 1> Creating library C:\h3d\Build\Horde3D\Source\Horde3DEngine\Release\Horde3D.lib and object C:\h3d\Build\Horde3D\Source\Horde3DEngine\Release\Horde3D.exp 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeTransMats imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dUnmapResStream imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dMapResStream imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeParamI imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeParent imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetResParamI imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeParamStr imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeParamF imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dGetNodeType imported in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dCheckNodeTransFlag imported in function "public: void __thiscall PhysicsNode::update(void)" (?update@PhysicsNode@@QAEXXZ) 1>egPhysics.obj : warning LNK4217: locally defined symbol _h3dSetNodeTransMat imported in function "public: void __thiscall PhysicsNode::update(void)" (?update@PhysicsNode@@QAEXXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall Horde3DTerrain::ExtTerrain::getName(void)" (?getName@ExtTerrain@Horde3DTerrain@@UAEPBDXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Horde3DTerrain::ExtTerrain::init(void)" (?init@ExtTerrain@Horde3DTerrain@@UAE_NXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Horde3DTerrain::ExtTerrain::release(void)" (?release@ExtTerrain@Horde3DTerrain@@UAEXXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual char const * __thiscall Horde3DSound::ExtSound::getName(void)" (?getName@ExtSound@Horde3DSound@@UAEPBDXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual bool __thiscall Horde3DSound::ExtSound::init(void)" (?init@ExtSound@Horde3DSound@@UAE_NXZ) 1>egModules.obj : error LNK2001: unresolved external symbol "public: virtual void __thiscall Horde3DSound::ExtSound::release(void)" (?release@ExtSound@Horde3DSound@@UAEXXZ) 1>egPhysics.obj : error LNK2019: unresolved external symbol __imp__h3dextCreateTerrainGeoRes referenced in function "public: __thiscall PhysicsNode::PhysicsNode(struct CollisionShape,int)" (??0PhysicsNode@@QAE@UCollisionShape@@H@Z) 1>C:\h3d\Horde3D\Binaries\Windows\Horde3D.dll : fatal error LNK1120: 7 unresolved externals Added this to CMakeList.txt on the root folder Code: option(HORDE3D_BUILD_BULLET "Build the Bullet extension into Horde3D" ON) if(HORDE3D_BUILD_BULLET) add_subdirectory(Extensions/Bullet) #include path to bullet #include_directories(/usr/include/bullet/) set(HORDE3D_EXTENSION_SOURCES ${HORDE3D_EXTENSION_SOURCES} ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/egPhysics.h ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/egPhysics.cpp ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/extension.h ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/extension.cpp ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/utMath.h ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/utXMLParser.h ${Horde3D_SOURCE_DIR}/Extensions/Bullet/Source/utXMLParser.cpp ) set(HORDE3D_EXTENSION_INSTALLS ${HORDE3D_EXTENSION_INSTALLS} "extMan().installExtension( new Horde3DBullet::ExtBullet() );\n" ) set(HORDE3D_EXTENSION_INCLUDES ${HORDE3D_EXTENSION_INCLUDES} "\n#include \"Extensions/Bullet/Source/extension.h\"\n" ) set(HORDE3D_EXTENSION_LIBS BulletCollision BulletDynamics LinearMath ) endif(HORDE3D_BUILD_BULLET) and pointing to include and lib directories of bullet once I generated the solution. Any ideas? EDIT For some reason CMake did not include the Terrain and Sound generated libs in the Additional Library Dependencies. Works ok now. |
Page 1 of 1 | All times are UTC + 1 hour |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |