在Windows下编译Saba

  Saba是一个用于加载MMD(MikuMikuDance)模型、动作文件的C++库。为了在Windows下编译Saba, 需要提前安装cmake和Visual Studio 2022(或其它版本的Visual Studio)。

 

cmake使用小技巧

  使用cmake生成项目时,常见的做法是:

1. 在源代码的根目录下新建一个子目录(这个子目录通常命名为build).

2. 在新建的子目录中使用cmake生成项目.

即以下过程:

# 当前处于源代码的根目录下, 这个目录下会有一个名为CMakeLists.txt的文件

mkdir build  # 新建子目录build
cd build  # 进入这个子目录
cmake ..  # 使用cmake生成项目(由于我们当前在build目录, 因此CMakeLists.txt在上一级目录,我们使用..告诉cmake, CMakeLists.txt在上一级目录中)

  为了编译saba, 需要先编译bullet和glfw.

 

编译bullet

  首先,获取bullet的源代码,当前(2024/04/01)最新的版本为PyBullet 3.2.5, 可以在这里获取。新建一个目录build用于编译:

mkdir build
cd build

  执行以下命令:

cmake -G "Visual Studio 17 2022" `
-D CMAKE_INSTALL_PREFIX='../../bullet' `
-D INSTALL_LIBS=ON `
-D USE_MSVC_RUNTIME_LIBRARY_DLL=ON `
-D BUILD_CPU_DEMOS=OFF `
-D BUILD_OPENGL3_DEMOS=OFF `
-D BUILD_BULLET2_DEMOS=OFF `
-D BUILD_UNIT_TESTS=OFF `
..

  这里注意以下几点:

    1. 如果你安装的不是Visual Studio 2022, 这里-G需要换成其它参数,输入cmake -G可以查看都有哪些选项;
    2. 如果你的Windows系统中没有其它开发工具(例如MinGW),-G "Visual Studio 17 2022"可以不写;
    3. CMAKE_INSTALL_PREFIX指定安装库的位置,你可以随意指定;
    4. Windows下的Powershell输入多行时使用`连接,有的终端使用^连接;
    5. 最后的两点..表示上一级目录,千万不要丢了哦.

  

  完成后,依次执行以下命令:

cmake --build . --config Debug --target ALL_BUILD
cmake --build . --config Debug --target INSTALL
cmake --build . --config Release --target ALL_BUILD
cmake --build . --config Release --target INSTALL

  大功告成后,在之前指定的CMAKE_INSTALL_PREFIX目录下会生成所需的头文件和库文件。

温馨提示(更新于2024/04/01)

  编译bullet库时,Debug和Release版本都需要编译,否则之后将bullet集成到saba时,在使用cmake生成saba项目工程文件时,会发生错误。

 

编译GLFW

  GLFW可在此处下载,当前(2024/04/01)最新版本为3.4.

  下载glfw-3.3.8的源代码,在当前文件下新建文件夹build:

mkdir build
cd build

  依次执行如下命令:

cmake -D CMAKE_INSTALL_PREFIX="../../glfw" ..  # 这里就没有指定-G选项
cmake --build . --config Debug --target INSTALL
cmake --build . --config Release --target INSTALL

 

编译Saba

  首先,获取Saba的源代码:

git clone https://github.com/benikabocha/saba.git

  我们将前面两步得到的bullet和glfw放在saba/external目录中。

cmake -G "Visual Studio 17 2022" `
-D SABA_BULLET_ROOT=您的Bullet库路径 `
-D SABA_GLFW_ROOT=您的GLFW库路径 `
..

  编译完成之后,在build目录下有一个名为saba.sln的文件,这是Visual Studio的工程文件,打开这个文件。

  首先,右键解决方案资源管理器中的saba_viewer:

  在打开的菜单栏中,单击“设为启动项目”:

  最后,点击绿色的“本地Windows调试器”按钮,就能看到以下窗口:

  拖动MMD模型到窗口,就能看到渲染后的模型了。

posted @ 2023-04-03 23:31  overxus  阅读(332)  评论(0)    收藏  举报