Build MATLAB Interface to C++ Library
clibgen
packageTo build (publish) a MATLAB interface to a C++ library, see Steps to Publish a MATLAB Interface to a C++ Library.
For information about calling functions in the library from MATLAB, see Use Prebuilt MATLAB Interface to C++ Library.
Functions
clibgen.generateLibraryDefinition | Create definition file for C++ library |
clibgen.buildInterface | Create interface to C++ library without definition file |
Packages
clibgen Package | Summary of packages and classes to support calling C++ library functionality from MATLAB |
Topics
How To Publish an Interface
- What Types of Files Define Your Library?
How to set the arguments to theclibgen.generateLibraryDefinition
function. - Steps to Publish a MATLAB Interface to a C++ Library
Outline for publishing an interface to a C++ library. - Requirements for Building Interface to C++ Libraries
Requirements for calling functions in external, compiled C++ libraries from MATLAB. - Distribute MATLAB Interface to C++ Library
How to share your MATLAB interface with MATLAB users.
Libraries Defined by Header and Compiled Library Files
- Header and Compiled Library Files on Windows
This example creates a MATLAB interface to a C++ library with an import library file
matrixOperations.lib
.- STEP 1: Generate Interface on Windows
- STEP 2: Define Missing Constructs
- STEP 3: Build Interface
- STEP 4: Call Library Functions on Windows
- Header and Compiled Library Files on Linux
This example creates a MATLAB interface to a C++ library with a shared object file
libmwmatrixOperations.so
.- STEP 1: Generate Interface on Linux
- STEP 2: Define Missing Constructs
- STEP 3: Build Interface
- STEP 4: Call Library Functions on Linux
- Header and Compiled Library Files on macOS
This example creates a MATLAB interface to a C++ library with a dynamic shared library file
libmwmatrixOperations.dylib
.- STEP 1: Generate Interface on macOS
- STEP 2: Define Missing Constructs
- STEP 3: Build Interface
- STEP 4: Call Library Functions on macOS
Libraries Defined by Header/CPP Source Files
- Header and CPP Source Files
This example creates a MATLAB interface to a C++ library defined in source files
matrixOperations.hpp
andmatrixOperations.cpp
.- STEP 1: Generate Interface
- STEP 2: Define Missing Constructs
- STEP 3: Build Interface to matrixoperations Library
- STEP 4: Call matrixoperations Library Functions
- Header-Only HPP File
This example creates a MATLAB interface to a C++ library defined in a header file
school.hpp
.
Define and Customize
- Define MATLAB Interface for C++ Library
Generate and edit the MATLAB library definition file to customize and define the interface.
- Publish Help Text for MATLAB Interface to C++ Library
Provide documentation for end-users of a MATLAB interface to a C++ Library.
- C++ to MATLAB Data Type Mapping
Correspondence of MATLAB data types to C/C++ types. - Lifetime Management of C++ Objects in MATLAB
MATLAB rules for managing memory for C++ objects created in a MATLAB interface to a C++ compiled library. - Initialize Pointer Members of C++ Structures for MATLAB Interface to Library
Verify that C++ class constructors initialize pointer members.
Troubleshooting
Build C++ Library Interface and Review Contents
If library functionality is missing, the library might contain unsupported language features or data types.
C/C++ library features not supported in MATLAB.
Troubleshooting C++ Library Definition Issues
Information for resolving error when publishing a MATLAB interface to a C++ library.