cmake生成涉及bullet库报错“Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY“解决方法一则

本文详细记录了在编译saba工程时遇到的Bullet库和glfw库配置难题。首先,解决Bullet库问题,通过vcpkg获取正确目录结构的库文件,避免手动编译可能导致的不兼容问题。然后,针对glfw库,调整CmakeLists.txt以满足工程需求。最后,分析了不同来源的Bullet库导致的链接错误,并指出使用vcpkg下载的库能避免此类问题。

这几天在编译一个工程(https://github.com/benikabocha/saba),里面涉及到了bullet库和glfw库,glfw倒还好说,唯独bullet把人折磨得够呛。

用cmake-gui进行configure,报错:

CMake Error at D:/SOFTWARE/Program/CMAKE/cmake-3.17.0-rc3-win64-x64/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:164 (message):
  Could NOT find Bullet (missing: BULLET_DYNAMICS_LIBRARY
  BULLET_COLLISION_LIBRARY BULLET_MATH_LIBRARY BULLET_SOFTBODY_LIBRARY)
Call Stack (most recent call first):
  D:/SOFTWARE/Program/CMAKE/cmake-3.17.0-rc3-win64-x64/share/cmake-3.17/Modules/FindPackageHandleStandardArgs.cmake:448 (_FPHSA_FAILURE_MESSAGE)
  D:/SOFTWARE/Program/CMAKE/cmake-3.17.0-rc3-win64-x64/share/cmake-3.17/Modules/FindBullet.cmake:88 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:20 (find_package)

说它找不到bullet,还说里面几个小库也找不到。

反复观察,发现saba的CmakeLists.txt是这样写的:

set (CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")

option (SABA_BULLET_ROOT "Bullet Root Directory" "")
option (SABA_ENABLE_TEST "Enable Google test." on)
option (SABA_ENABLE_GL_TEST "OpenGL test." off)
option (SABA_USE_GLSLANG "glsl Preprocessor : glslang lib" off)
option (SABA_INSTALL "Saba install." off)
option (SABA_GLFW_ROOT "GLFW Root Directory" "")
option (SABA_FORCE_GLFW_BUILD "Force glfw build." off)
option (SABA_ENABLE_EXAMPLE_VULKAN "Build vulakn's example." off)

set (BULLET_ROOT ${SABA_BULLET_ROOT})

他的本意是想让 SABA_BULLET_ROOT 成为一个字符串变量,但我改写cmake自带的FindBullet.cmake,加上信息之后:

MESSAGE( STATUS "BULLET_ROOT=${BULLET_ROOT}")

cmake输出了:

BULLET_ROOT=ON

这说明cmake还是把CmakeLists.txt里的option那句当成了一个bool型变量。

查看Cmake命令之set介绍之后,发现上面option那句应该写成set语句:

set (SABA_BULLET_ROOT "" CACHE PATH "Bullet Root Directory")

之后,再次运行,cmake-gui中就出现PATH型变量了。
在这里插入图片描述
但是填进了bullet目录,还是报错。搜索了一大圈,只找到说用rosdep解决。大致看了一下,这个rosdep也是类似msys2的编译环境自动化配置工具吧,通过在线下载解决配置问题。不想引入这么多乱七八糟的东西啊。

反复查看bullet的README,发现它说可以用微软的vcpkg进行配置。具体命令是这样说的:

git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
vcpkg install bullet3

vcpkg.exe编译好,又执行vcpkg install bullet3,下载一大堆东西,又报错说语言不支持,要英文版的vs。又打开Visual Studio Installer,下了英文语言包。这下bullet搞好了。
在这里插入图片描述

回到saba的cmake这边,填入vcpkg配置的bullet目录C:\vcpkg\packages\bullet3_x86-windows,bullet这关就算过了。我事后总结发现,在github下载的bullet库,随便怎么生成、编译(我试了直接用cmake再用VS的方案、bat生成vs2010工程方案),得到的目录结构都是不符合FindBullet.cmake的要求的。

我实验发现,符合FindBullet.cmake要求的目录应该是这样:
在这里插入图片描述
vcpkg生成的bullet库,文件结构是这样:

C:\vcpkg\packages\bullet3_x86-windows\BUILD_INFO
C:\vcpkg\packages\bullet3_x86-windows\CONTROL
C:\vcpkg\packages\bullet3_x86-windows\debug
C:\vcpkg\packages\bullet3_x86-windows\include
C:\vcpkg\packages\bullet3_x86-windows\lib
C:\vcpkg\packages\bullet3_x86-windows\share
C:\vcpkg\packages\bullet3_x86-windows\debug\lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\Bullet3Common_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\BulletCollision_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\BulletDynamics_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\BulletInverseDynamics_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\BulletSoftBody_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\debug\lib\LinearMath_Debug.lib
C:\vcpkg\packages\bullet3_x86-windows\include\bullet
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\btBulletCollisionCommon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\btBulletDynamicsCommon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletInverseDynamics
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3AlignedAllocator.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3AlignedObjectArray.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3CommandLineArgs.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3FileUtils.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3HashMap.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Logging.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Matrix3x3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3MinMax.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3PoolAllocator.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3QuadWord.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Quaternion.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Random.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3ResizablePool.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Scalar.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3StackAlloc.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Transform.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3TransformUtil.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\b3Vector3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3Float4.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3Int2.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3Int4.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3Mat3x3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3PlatformDefinitions.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\Bullet3Common\shared\b3Quat.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\btBulletCollisionCommon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btAxisSweep3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btAxisSweep3Internal.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btBroadphaseInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btBroadphaseProxy.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btDbvt.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btDbvtBroadphase.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btDispatcher.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btOverlappingPairCache.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btOverlappingPairCallback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btQuantizedBvh.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\BroadphaseCollision\btSimpleBroadphase.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btActivatingCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btBox2dBox2dCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btBoxBoxCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btBoxBoxDetector.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionConfiguration.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionCreateFunc.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionDispatcher.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionDispatcherMt.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionObject.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionObjectWrapper.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCollisionWorldImporter.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCompoundCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btCompoundCompoundCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btConvex2dConvex2dAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btConvexConcaveCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btConvexConvexAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btConvexPlaneCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btDefaultCollisionConfiguration.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btEmptyCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btGhostObject.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btHashedSimplePairCache.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btInternalEdgeUtility.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btManifoldResult.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btSimulationIslandManager.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btSphereBoxCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btSphereSphereCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btSphereTriangleCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\btUnionFind.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionDispatch\SphereTriangleDetector.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btBox2dShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btBoxShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btBvhTriangleMeshShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btCapsuleShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btCollisionMargin.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btCollisionShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btCompoundShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConcaveShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConeShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvex2dShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexHullShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexInternalShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexPointCloudShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexPolyhedron.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btConvexTriangleMeshShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btCylinderShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btEmptyShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btHeightfieldTerrainShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btMaterial.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btMiniSDF.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btMinkowskiSumShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btMultimaterialTriangleMeshShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btMultiSphereShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btOptimizedBvh.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btPolyhedralConvexShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btScaledBvhTriangleMeshShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btSdfCollisionShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btShapeHull.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btSphereShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btStaticPlaneShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btStridingMeshInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTetrahedronShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleBuffer.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleCallback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleIndexVertexArray.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleIndexVertexMaterialArray.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleInfoMap.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleMesh.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleMeshShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btTriangleShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\CollisionShapes\btUniformScalingShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btBoxCollision.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btClipPolygon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btCompoundFromGimpact.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btContactProcessing.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btContactProcessingStructs.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGenericPoolAllocator.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGeometryOperations.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactBvh.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactBvhStructs.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactMassUtil.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactQuantizedBvh.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactQuantizedBvhStructs.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btGImpactShape.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btQuantization.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\btTriangleShapeEx.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_array.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_basic_geometry_operations.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_bitset.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_box_collision.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_box_set.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_clip_polygon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_contact.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_geometry.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_geom_types.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_hash_table.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_linear_math.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_math.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_memory.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_pair.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_radixsort.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\Gimpact\gim_tri_collision.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btComputeGjkEpaPenetration.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btContinuousConvexCollision.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btConvexCast.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btConvexPenetrationDepthSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btDiscreteCollisionDetectorInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkCollisionDescription.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkConvexCast.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkEpa2.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkEpa3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkEpaPenetrationDepthSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btGjkPairDetector.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btManifoldPoint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btMinkowskiPenetrationDepthSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btMprPenetration.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btPersistentManifold.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btPointCollector.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btPolyhedralContactClipping.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btRaycastCallback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btSimplexSolverInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btSubSimplexConvexCast.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletCollision\NarrowPhaseCollision\btVoronoiSimplexSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\btBulletDynamicsCommon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Character
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Vehicle
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Character\btCharacterControllerInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Character\btKinematicCharacterController.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btBatchedConstraints.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btConeTwistConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btContactConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btContactSolverInfo.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btFixedConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btGearConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btGeneric6DofConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btGeneric6DofSpring2Constraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btGeneric6DofSpringConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btHinge2Constraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btHingeConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btJacobianEntry.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btNNCGConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btPoint2PointConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSequentialImpulseConstraintSolverMt.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSliderConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSolve2LinearConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSolverBody.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btSolverConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btTypedConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\ConstraintSolver\btUniversalConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btActionInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btDiscreteDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btDiscreteDynamicsWorldMt.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btRigidBody.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btSimpleDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Dynamics\btSimulationIslandManagerMt.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBody.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyFixedConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyGearConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyInplaceSolverIslandCallback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyJointFeedback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyJointLimitConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyJointMotor.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyLink.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyLinkCollider.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyMLCPConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodyPoint2Point.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodySliderConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodySolverConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Featherstone\btMultiBodySphericalJointMotor.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btDantzigLCP.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btDantzigSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btLemkeAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btLemkeSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btMLCPSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btMLCPSolverInterface.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btPATHSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\MLCPSolvers\btSolveProjectedGaussSeidel.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Vehicle\btRaycastVehicle.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Vehicle\btVehicleRaycaster.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletDynamics\Vehicle\btWheelInfo.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletInverseDynamics\btBulletCollisionCommon.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btCGProjection.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btConjugateGradient.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDefaultSoftBodySolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableBackwardEulerObjective.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableBodySolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableContactConstraint.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableContactProjection.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableCorotatedForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableGravityForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableLagrangianForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableLinearElasticityForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableMassSpringForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableMultiBodyConstraintSolver.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableMultiBodyDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btDeformableNeoHookeanForce.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btPreconditioner.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBody.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodyConcaveCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodyData.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodyHelpers.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodyInternals.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodyRigidBodyCollisionConfiguration.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodySolvers.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftBodySolverVertexBuffer.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftMultiBodyDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftRigidCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftRigidDynamicsWorld.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSoftSoftCollisionAlgorithm.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\btSparseSDF.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\BulletSoftBody\DeformableBodyInplaceSolverIslandCallback.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btAabbUtil2.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btAlignedAllocator.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btAlignedObjectArray.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btConvexHull.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btConvexHullComputer.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btCpuFeatureUtility.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btDefaultMotionState.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btGeometryUtil.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btGrahamScan2dConvexHull.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btHashMap.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btIDebugDraw.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btImplicitQRSVD.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btList.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btMatrix3x3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btMatrixX.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btMinMax.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btMotionState.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btPolarDecomposition.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btPoolAllocator.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btQuadWord.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btQuaternion.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btQuickprof.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btRandom.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btScalar.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btSerializer.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btSpatialAlgebra.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btStackAlloc.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btThreads.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btTransform.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btTransformUtil.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\btVector3.h
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\TaskScheduler
C:\vcpkg\packages\bullet3_x86-windows\include\bullet\LinearMath\TaskScheduler\btThreadSupportInterface.h
C:\vcpkg\packages\bullet3_x86-windows\lib\Bullet3Common.lib
C:\vcpkg\packages\bullet3_x86-windows\lib\BulletCollision.lib
C:\vcpkg\packages\bullet3_x86-windows\lib\BulletDynamics.lib
C:\vcpkg\packages\bullet3_x86-windows\lib\BulletInverseDynamics.lib
C:\vcpkg\packages\bullet3_x86-windows\lib\BulletSoftBody.lib
C:\vcpkg\packages\bullet3_x86-windows\lib\LinearMath.lib
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\Bullet3CommonTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\Bullet3CommonTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\Bullet3CommonTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletCollisionTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletCollisionTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletCollisionTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletConfig.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletConfigVersion.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletDynamicsTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletDynamicsTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletDynamicsTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletInverseDynamicsTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletInverseDynamicsTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletInverseDynamicsTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletSoftBodyTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletSoftBodyTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\BulletSoftBodyTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\copyright
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\LinearMathTargets-debug.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\LinearMathTargets-release.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\LinearMathTargets.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\usage
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\UseBullet.cmake
C:\vcpkg\packages\bullet3_x86-windows\share\bullet3\vcpkg_abi_info.txt

bullet库通过了,glfw这边又闹了幺蛾子:
在这里插入图片描述
不过这个倒跟glfw无关,是saba的作者似乎要求glfw库要放一份到他的文件夹里面,带上CMakeLists.txt。

终于编译成功。
在这里插入图片描述
另外,我尝试了自己从github的bullet库里编译出.lib,从src里提取出.h,构成bullet的二进制库。但是这样和saba总是有链接错误,说/MT和/MD不统一,但我反复检查,明明就是一样的,32位和64位我也特意调成一样了。换成vcpkg下载的成品就可以编译通过。然后一运行,只有加载模型就抛异常。我又把自己提取的include文件夹换成了vcpkg下载的,就又可以了。真的是非常奇怪。我从github上下载的bullet是2.87版,vcpkg下载的是2.89版,应该不是版本的问题。

12-02
报错。surongfeng@surongfeng:~$ # 安装编译依赖 sudo apt install libogre-1.12-dev libbullet-dev libsimbody-dev # 克隆指定版本源码(如gazebo11) git clone -b gazebo11 https://github.com/osrf/gazebo cd gazebo && mkdir build && cd build cmake ../ make -j$(nproc) sudo make install [sudo] surongfeng 的密码: 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 libogre-1.12-dev 已经是最新版 (1.12.10+dfsg2-3+b1)。 libbullet-dev 已经是最新版 (3.24+dfsg-2)。 libsimbody-dev 已经是最新版 (3.7+dfsg-3)。 升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。 正克隆到 'gazebo'... remote: Enumerating objects: 289952, done. remote: Counting objects: 100% (294/294), done. remote: Compressing objects: 100% (145/145), done. remote: Total 289952 (delta 201), reused 151 (delta 149), pack-reused 289658 (from 4) 接收对象中: 100% (289952/289952), 544.94 MiB | 1.13 MiB/s, 完成. 处理 delta 中: 100% (225254/225254), 完成. 正在更新文件: 100% (3714/3714), 完成. -- The C compiler identification is GNU 12.2.0 -- The CXX compiler identification is GNU 12.2.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Gazebo version 11.15.1 -- Found CPack generators: DEB -- Found Doxygen: /usr/bin/doxygen (found version "1.9.4") found components: doxygen dot -- High memory tests: enabled -- ====== Finding 3rd Party Packages ====== -- Operating system is Linux -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'freeimage>=3.9.0' -- Package 'freeimage', required by 'virtual:world', not found -- freeimage.pc not found, trying freeimage_include_dir and freeimage_library_dir flags. -- Looking for FreeImage.h - not found -- Missing: Unable to find FreeImage.h -- Looking for libfreeimage - not found -- Missing: Unable to find libfreeimage -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so (found version "3.21.12") -- Missing: Google Protobuf Compiler Library (libprotoc-dev) CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindOpenGL.cmake:315 (message): Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when available. Run "cmake --help-policy CMP0072" for policy details. Use the cmake_policy command to set the policy and suppress this warning. FindOpenGL found both a legacy GL library: OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so and GLVND libraries for OpenGL and GLX: OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for compatibility with CMake 3.10 and below the legacy GL library will be used. Call Stack (most recent call first): cmake/SearchForStuff.cmake:74 (include) CMakeLists.txt:163 (include) This warning is for project developers. Use -Wno-dev to suppress it. -- Found OpenGL: /usr/lib/x86_64-linux-gnu/libOpenGL.so -- Could NOT find OpenAL (missing: OPENAL_LIBRARY OPENAL_INCLUDE_DIR) -- OpenAL not found, audio support will be disabled. -- Could NOT find HDF5 (missing: HDF5_LIBRARIES HDF5_INCLUDE_DIRS C CXX) (found version "") -- HDF5 not found -- Could NOT find CURL (missing: CURL_LIBRARY CURL_INCLUDE_DIR) -- Checking for module 'libprofiler' -- Package 'libprofiler', required by 'virtual:world', not found -- Looking for libprofiler - not found -- Checking for module 'libtcmalloc' -- Package 'libtcmalloc', required by 'virtual:world', not found -- Looking for libtcmalloc - not found -- Looking for Simbody - found -- Could NOT find DART (missing: DART_DIR) -- Looking for DART - not found -- DART 6.6 not found, for dart physics engine option, please install libdart6.6-dev. -- Using system tinyxml. -- Checking for module 'tinyxml' -- Package 'tinyxml', required by 'virtual:world', not found -- Looking for tinyxml headers - not found -- Looking for tinyxml library - not found -- Looking for tinyxml.h - not found -- Missing: tinyxml -- Using system tinyxml2. -- Checking for module 'tinyxml2' -- Package 'tinyxml2', required by 'virtual:world', not found -- Looking for tinyxml2 headers - not found -- Looking for tinyxml2 library - not found -- Looking for tinyxml2 library dirs - not found -- Looking for tinyxml2.h - not found -- Missing: tinyxml2 -- Looking for libtar.h - not found -- Looking for libtar.so - not found -- Missing: libtar -- Checking for module 'tbb' -- Found tbb, version 2021.8.0 -- Checking for module 'OGRE-RTShaderSystem>=1.7.4' -- Found OGRE-RTShaderSystem, version 1.12.10 -- Checking for module 'OGRE>=1.7.4' -- Found OGRE, version 1.12.10 -- Checking for module 'OGRE-Terrain' -- Found OGRE-Terrain, version 1.12.10 -- Checking for module 'OGRE-Overlay' -- Found OGRE-Overlay, version 1.12.10 -- Checking for module 'ccd>=1.4' -- Package 'ccd', required by 'virtual:world', not found -- Using internal copy of libccd -- Checking for module 'libswscale' -- Found libswscale, version 6.7.100 -- Checking for module 'libavdevice>=56.4.100' -- Package 'libavdevice', required by 'virtual:world', not found -- libavdevice not found. Recording to a video device will be disabled. -- Checking for module 'libavformat' -- Found libavformat, version 59.27.100 -- Checking for module 'libavcodec' -- Found libavcodec, version 59.37.100 -- Checking for module 'libavutil' -- Found libavutil, version 57.28.100 -- Checking for modules 'playercore>=3.0;playerc++;playerwkb' -- Package 'playercore', required by 'virtual:world', not found -- Package 'playerc++', required by 'virtual:world', not found -- Package 'playerwkb', required by 'virtual:world', not found -- Player not found, gazebo plugin for player will not be built. -- Checking for module 'gts' -- Package 'gts', required by 'virtual:world', not found -- GNU Triangulation Surface library not found - Gazebo will not have CSG support. -- Checking for module 'bullet>=2.82' -- Found bullet, version 3.24 -- Bullet found: 3.24 -- Checking for module 'libusb-1.0' -- Found libusb-1.0, version 1.0.26 -- Looking for libusb-1.0 - found. USB peripherals support enabled. -- Checking for module 'OculusVR' -- Package 'OculusVR', required by 'virtual:world', not found -- Oculus Rift support will be disabled. CMake Error at cmake/SearchForStuff.cmake:648 (find_package): By not providing "Findsdformat9.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "sdformat9", but CMake did not find one. Could not find a package configuration file provided by "sdformat9" (requested version 9.8) with any of the following names: sdformat9Config.cmake sdformat9-config.cmake Add the installation prefix of "sdformat9" to CMAKE_PREFIX_PATH or set "sdformat9_DIR" to a directory containing one of the above files. If "sdformat9" provides a separate development package or SDK, be sure it has been installed. Call Stack (most recent call first): CMakeLists.txt:163 (include) -- Configuring incomplete, errors occurred! See also "/home/surongfeng/gazebo/build/CMakeFiles/CMakeOutput.log". make: *** 没有指明目标并且找不到 makefile。 停止。 make: *** 没有规则可制作目标“install”。 停止。 surongfeng@surongfeng:~/gazebo/build$
05-15
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值