Installation

Overview

The BMC C++ SDK Windows installer sets up the necessary components for the SDK on the system. This includes:

  • A dynamic library:

    • bmc_sdk.dll on Windows

    • libbmc_sdk.dylib on macOS

    • libbmc_sdk.so on Linux

  • A static library:

    • bmc_sdk_static.lib on Windows

    • libbmc_sdk_static.a on macOS

    • libbmc_sdk_static.a on Linux

  • Example applications to test the SDK

  • Header files for integration (include directory)

Prerequisite

As a prerequisite, the C++ SDK requires having the BinhoMissionControl Bridge (bmcbridge) utility installed and added to the PATH environment variable.

To improve modularization and streamline our update process, we've decided to separate the BinhoMissionControl Bridge from the BMC C++ SDK. The BMC Bridge, which connects high-level interfaces like Binho Mission Control to our host adapters, is updated frequently. By decoupling it from the BMC C++ SDK, we can deliver more focused updates to each component. Additionally, as we continue to meet the growing demand for a native C/C++ SDK, we're also planning to open-source the BMC C++ SDK to further empower the developer community.

Windows

  1. Once installed, proceed with the following setup instructions:

  • The bridge is typically installed in C:\Program Files (x86)\BinhoMissionControlBridge

  • Add this path to your system's PATH environment variable.

    • Press Win + R , type sysdm.cpl , and press Enter.

    • Go to the Advanced tab, and click on Environment Variables.

    • In the System variables section, find the PATH variable, select it, and click Edit.

    • Click New and add C:\Program Files (x86)\BinhoMissionControlBridge

  • To verify the installation, open Command Prompt and execute:

    • bmcbridge --version

Linux and macOS

  1. Extract the binaries and place the extracted folder in a location of your choice.

  2. Open a Terminal window and navigate to the directory where you extracted the binaries.

  3. To make the binaries easily accessible, add the directory to your PATH environment variable. You can do this by editing your ~/.zshrc (for Zsh users) or ~/.bashrc (for Linux or macOS bash users): nano ~/.zshrc or, if you use Bash: ~/.bashrc

  4. Add the following line at the end of the file: export PATH=/path/to/your/extracted/folder:$PATH Replace /path/to/your/extracted/folder with the actual path to the extracted folder.

  5. Save the file and apply the changes by running: source ~/.zshrc or, for Bash users: source ~/.bashrc

  6. To verify the installation, run the following command in Terminal: bmcbridge --version

Installation of the C++ SDK

Windows

Setup instructions

  • Add C:\Program Files (x86)\BinhoMissionControlSDK to your system's PATH environment variable.

  1. Run the Installer: Double-click on the installer and follow the on-screen prompts.

  2. Installation Directories: By default, the SDK will be installed into the c:\Program Files (x86)\BinhoMissionControlSDK directory. Inside this directory, you will find:

    • bmc_sdk.dll: The SDK dynamic link library.

    • bmc_sdk_static.lib: The SDK static library.

    • README.md: Read-me file in markdown format for users.

    • examples: A directory containing example applications.

    • include: A directory containing various header files necessary for SDK integration.

  3. Add to PATH Environment Variable. For the applications to function correctly: Both the bmcbridge and the BMC C++ SDK installation directories must be added to the system's PATH environment variable.

  4. Integration: To integrate the BMC C++ SDK into a project:

    • Reference the SDK library using the static or dynamic library files.

    • Include necessary headers from the include directory.

  5. Test the Example Applications: After setting up the PATH, you can run the example applications in the examples directory.

Linux and macOS

Installation Directory Structure

└── BinhoMissionControlSDK
    ├── bmc_sdk.dll (or lib/libbmc_sdk.dylib on macOS, lib/libbmc_sdk.so on Linux)
    ├── bmc_sdk_static.lib (or lib/libbmc_sdk_static.a on macOS and Linux)
    ├── README.md
    ├── examples
    │   ├── list_devices
    │   ├── nova_breathing_leds
    │   ├── sample_app_using_sample_library
    │   ├── sample_library
    │   ├── supernova_101
    │   ├── supernova_i2c
    │   ├── supernova_i2c_benchmark
    │   ├── i3c_cccs
    │   ├── i3c_ibis
    │   ├── i3c_ICM42605
    │   ├── ...
    └── include
        ├── bridge_reader.h
        ├── BridgeReader_windows.h
        ├── CommandDispatcher.h
        ├── CommandManager.h
        ├── CommandRequest.h
        ├── CommandResponse.h
        └── definitions.h

Last updated