This question was probably asked several times, but I haven't found a working solution.
I configure bullet (latest git version) like this cmake -DCMAKE_INSTALL_PREFIX=/home/herman/prog/build/bullet3-install/ -DBUILD_EXTRAS=ON -DUSE_DOUBLE_PRECISION=OFF -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release ... I didn't want to install it to /usr/local/ so it does not interfere with system package manager-installed bullet used for building openmw, that does require double precision, so I chose another location. So there are installed a bunch of .a files in bullet3-install/lib, including libBulletWorldImporter.a
I configure sr3 (latest git version) like this cmake -DCMAKE_BUILD_TYPE=Release -DBULLET_ROOT=/home/herman/prog/build/bullet3-install/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
However this error appears
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x40): undefined reference to `btWorldImporter::createPlaneShape(btVector3 const&, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x50): undefined reference to `btWorldImporter::createSphereShape(float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x58): undefined reference to `btWorldImporter::createCapsuleShapeX(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x60): undefined reference to `btWorldImporter::createCapsuleShapeY(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x68): undefined reference to `btWorldImporter::createCapsuleShapeZ(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x70): undefined reference to `btWorldImporter::createCylinderShapeX(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x78): undefined reference to `btWorldImporter::createCylinderShapeY(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x80): undefined reference to `btWorldImporter::createCylinderShapeZ(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x88): undefined reference to `btWorldImporter::createConeShapeX(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x90): undefined reference to `btWorldImporter::createConeShapeY(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x98): undefined reference to `btWorldImporter::createConeShapeZ(float, float)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0xe0): undefined reference to `btWorldImporter::createMultiSphereShape(btVector3 const*, float const*, int)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0xf0): undefined reference to `btWorldImporter::createHeightfieldShape(int, int, void const*, float, float, float, int, int, bool)'
/usr/lib/gcc/x86_64-pc-linux-gnu/13/../../../../x86_64-pc-linux-gnu/bin/ld: CMakeFiles/sr-editor3.dir/src/common/SceneObjects.cpp.o:(.data.rel.ro._ZTV17BulletWorldOffset[_ZTV17BulletWorldOffset]+0x168): undefined reference to `btWorldImporter::createGearConstraint(btRigidBody&, btRigidBody&, btVector3 const&, btVector3 const&, float)'
Do I need to disable double precision in bullet? Do I need some changes in its cmake file? Do I need it to use shared libs instead of static? Another bullet version mb? Please help.
This question was probably asked several times, but I haven't found a working solution.
I configure bullet (latest git version) like this
cmake -DCMAKE_INSTALL_PREFIX=/home/herman/prog/build/bullet3-install/ -DBUILD_EXTRAS=ON -DUSE_DOUBLE_PRECISION=OFF -DCMAKE_CXX_COMPILER_LAUNCHER=ccache -DCMAKE_BUILD_TYPE=Release ... I didn't want to install it to /usr/local/ so it does not interfere with system package manager-installed bullet used for building openmw, that does require double precision, so I chose another location. So there are installed a bunch of .a files in bullet3-install/lib, including libBulletWorldImporter.aI configure sr3 (latest git version) like this
cmake -DCMAKE_BUILD_TYPE=Release -DBULLET_ROOT=/home/herman/prog/build/bullet3-install/ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..However this error appears
Do I need to disable double precision in bullet? Do I need some changes in its cmake file? Do I need it to use shared libs instead of static? Another bullet version mb? Please help.