# MOZA SDK 1.0.0.2 Package Layout

## 中文说明

本压缩包包含 MOZA SDK 1.0.0.2 的 Windows x64/x86、Debug/Release 四套动态库产物，以及公开头文件、CMake 包配置、示例代码、开发文档和调试工具。

当前 SDK 包仅发布 AS 类型化设备头文件。C++ 类型化设备接口请使用 `moza/device_as.hpp`。

目录结构：

```text
README.md
examples/
  c_api_example.c
  cpp_wrapper_example.cpp
docs/
  CHANGELOG.md
  MOZA_SDK_API_参考手册.md
  MOZA_SDK_API_Reference.md
  MOZA_SDK开发者指南.md
  MOZA_SDK_Developer_Guide.md
  基座力反馈指令使用说明.md
  Wheelbase_Force_Feedback_Command_Guide.md
x64-debug/
x64-release/
x86-debug/
x86-release/
```

四个 SDK 产物目录的内部结构一致：

```text
<variant>/
  bin/
    MOZA_SDK.dll
  lib/
    MOZA_SDK.lib
    cmake/MOZA_SDK/
      MOZA_SDKConfig.cmake
      MOZA_SDKConfigVersion.cmake
      MOZA_SDKTargets.cmake
      MOZA_SDKTargets-<config>.cmake
  include/
    moza/
      moza.h
      moza.hpp
      device_as.hpp
      generated/
        device_as.generated.hpp
      private/
  examples/
    c_api_example.c
    cpp_wrapper_example.cpp
  tools/
    SdkDebugTool/
```

目录选择：

- `x64-debug`：64 位 Debug 动态库和配套文件。
- `x64-release`：64 位 Release 动态库和配套文件。
- `x86-debug`：32 位 Debug 动态库和配套文件。
- `x86-release`：32 位 Release 动态库和配套文件。

使用建议：

- 应用程序运行时需要能够找到对应目录下的 `bin/MOZA_SDK.dll`。
- 编译链接时使用同一目录下的 `include/` 和 `lib/MOZA_SDK.lib`。
- CMake 项目可通过对应目录的 `lib/cmake/MOZA_SDK` 使用 `find_package(MOZA_SDK CONFIG REQUIRED)`。
- 不要混用不同架构或不同配置的 DLL 与 import library。
- 根目录 `examples/` 提供共享示例源码；各 `<variant>/examples/` 中也保留了一份相同示例，便于单独分发某一个变体目录。
- `docs/` 中包含 API 参考、开发者指南、CHANGELOG 和基座力反馈指令说明，均为随 SDK 发布的公开文档。

## English

This archive contains the Windows x64/x86 Debug/Release dynamic-library builds of MOZA SDK 1.0.0.2, together with public headers, CMake package files, example source files, documentation, and the SDK debug tool.

This SDK package currently ships only the AS typed device header. For C++ typed device APIs, use `moza/device_as.hpp`.

Top-level layout:

```text
README.md
examples/
  c_api_example.c
  cpp_wrapper_example.cpp
docs/
  CHANGELOG.md
  MOZA_SDK_API_参考手册.md
  MOZA_SDK_API_Reference.md
  MOZA_SDK开发者指南.md
  MOZA_SDK_Developer_Guide.md
  基座力反馈指令使用说明.md
  Wheelbase_Force_Feedback_Command_Guide.md
x64-debug/
x64-release/
x86-debug/
x86-release/
```

Each SDK variant directory has the same internal layout:

```text
<variant>/
  bin/
    MOZA_SDK.dll
  lib/
    MOZA_SDK.lib
    cmake/MOZA_SDK/
      MOZA_SDKConfig.cmake
      MOZA_SDKConfigVersion.cmake
      MOZA_SDKTargets.cmake
      MOZA_SDKTargets-<config>.cmake
  include/
    moza/
      moza.h
      moza.hpp
      device_as.hpp
      generated/
        device_as.generated.hpp
      private/
  examples/
    c_api_example.c
    cpp_wrapper_example.cpp
  tools/
    SdkDebugTool/
```

Variant selection:

- `x64-debug`: 64-bit Debug dynamic library and matching files.
- `x64-release`: 64-bit Release dynamic library and matching files.
- `x86-debug`: 32-bit Debug dynamic library and matching files.
- `x86-release`: 32-bit Release dynamic library and matching files.

Usage notes:

- At runtime, the application must be able to locate the matching `bin/MOZA_SDK.dll`.
- For build/link, use the `include/` directory and `lib/MOZA_SDK.lib` from the same variant directory.
- CMake projects can use `find_package(MOZA_SDK CONFIG REQUIRED)` with the matching `lib/cmake/MOZA_SDK` package directory.
- Do not mix DLLs and import libraries from different architectures or configurations.
- The top-level `examples/` directory provides shared example source files. Each `<variant>/examples/` directory also keeps the same examples for standalone redistribution of a single variant.
- The `docs/` directory contains the public API reference, developer guide, changelog, and wheelbase force feedback command guide shipped with the SDK.
