Building Python bindings for ADLX
Navigation: Programming with ADLX → ADLX Programming Guide → Quick Start
This guide outlines the steps to build a Python binding wrapper for ADLX, a prerequisite to programming with ADLX in a Python application.
Prerequisite(s)
- ADLX SDK is installed.
- Visual Studio 2019 is installed.
- Python 3.9 is installed.
- pybind11 is installed.
- The path to the Python 3.9 installation is added to the PYHOME system environment variable.
To build ADLX bindings in Python
- Create a folder for your Python ADLX binding wrapper, for example
ADLXPybind
. - Create a new file in the
ADLXPybind
folder and title itbind.cpp
. - Edit
bind.cpp
and bind the interfaces you wish to wrap usingpybind11
. To create bindings for event notifications, inherit the respective listener interface.
For example, inherit IADLXDisplayListChangedListener.
Note: Refer to the Python samples bind.cpp file for an example of a Python binding.
- Create a C++ Dynamic Link Library project named
ADLXPybind
and configure the project as follows: - | Key | Value | Observations | |---|---|---| | Advanced > Target File Extension | .pyd | Use .pyd as the extension | | VC++ Directories > Include Directories | $(PYHOME)/include
(PYHOME)/libs | Add path of python libs |
| C/C++ > Precompiled Header | Not Using Precompiled Headers | Do not use precompiled headers |
| Linker > Inpit | python39.lib
| Add python lib |
- Add the
bind.cpp
file to the project - Add the following files to the project:
SDK/Platform/Windows/WinAPIs.cpp
SDK/ADLXHelper/Windows/Cpp/ADLXHelper.h
SDK/ADLXHelper/Windows/Cpp/ADLXHelper.cpp
- Build the project.
Result: The ADLXPybind.pyd
is built in the "$(SolutionDir)$(Platform)$/(Configuration)/"
folder.
See Also: IADLXDisplayListChangedListener, ADLXPybind