将子弹物理学构建为共享库

Building bullet physics as shared libraries

我正在使用来自 https://github.com/bulletphysics/bullet3

的最新 github 版本

为了生成 visual studio 解决方案,我使用了位于 bullet3/build3 中的 'vs2010.bat'。然而,这将它设置为静态库。如果我将配置类型更改为动态,则会正确生成 .dll,但不会生成 .lib 文件。

我也试过在启用 "BUILD_SHARED_LIBS" 的情况下使用 CMake,但同样没有生成任何 .lib 文件。

将 bullet 构建为共享库的正确方法是什么?

目前无法在 Windows 上使用 Visual Studio 在使用 Bullet 共享库时生成导入库 (.lib)。原因是没有显式导出符号。共享库在 Linux 和 Mac OSX 上使用 gcc 或 clang 可以正常工作。检测代码以修复此问题需要大量工作。

另见 https://cmake.org/Wiki/BuildingWinDLL