Build MATLAB Interface to C/C++ Library
R2026bYou can build (publish) a MATLAB interface to a C or C++ library using MATLAB code that you maintain. Specify the headers and symbols to include, adjust only the definitions MATLAB cannot infer, and rebuild the interface consistently across platforms and library updates. For an overview, see How to Publish a MATLAB Interface to a C/C++ Library.
Alternatively, call clibPublishInterfaceWorkflow for guided
steps that create a platform-specific interface.
For information about calling functions in the library from MATLAB, see Use Prebuilt MATLAB Interface to C/C++ Library.
Before R2026b: Your options to publish
an interface are to call clibPublishInterfaceWorkflow to use a
workflow script or to create a definition file for the
library using
clibgen.generateLibraryDefinition.
For more information, see How to Publish a MATLAB Interface to a C/C++
Library (R2026a).
Classes
clibgen.api.InterfaceConfiguration | Specify configuration for generating MATLAB interface to C/C++ library (Since R2026b) |
clibgen.api.InterfaceDefinition | Inspect, customize, and build MATLAB interface definition for C/C++ library (Since R2026b) |
Functions
clibPublishInterfaceWorkflow | Create live script to publish platform-specific interface for C/C++ library (Since R2023a) |
clibgen.generateLibraryDefinition | (Not recommended) Create definition file for C/C++ library |
clibgen.buildInterface | (Not recommended) Create interface to C/C++ library without definition file |
Live Editor Tasks
| Generate C++ Interface | Configure and generate MATLAB interface to C/C++ library (Since R2023a) |
Namespaces
clibgen.api | Summary of programmatic workflow objects for publishing MATLAB interface to C/C++ library (Since R2026b) |
clibgen | (Not recommended. Instead use objects in the clibgen.api
namespace.) Classes to publish MATLAB interface to C++ library using the
clibgen.generateLibraryDefinition function |
Topics
Publish MATLAB Interface
- How to Publish a MATLAB Interface to a C/C++ Library
Outline for publishing an interface to a C/C++ library.
- Requirements for Building a MATLAB Interface to C/C++ Libraries
Requirements for calling functions in external, compiled C/C++ libraries from MATLAB.
Define and Customize
- Define MATLAB Interface for C/C++ Library
Generate and edit the MATLAB
clibgen.api.InterfaceDefinitionobject to customize and define the interface. - Publish Help Text for MATLAB Interface to C/C++ Library
Provide documentation for end-users of a MATLAB interface to a C/C++ Library.
Share Your Interface
- Distribute MATLAB Interface to C/C++ Library
How to share your MATLAB interface with MATLAB users.
- 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/C++ Library Interface and Review Contents
When you build a MATLAB interface to a C/C++ library, you can review the contents of the generated interface.
C/C++ library features not supported in MATLAB.
Troubleshooting C/C++ Library Definition Issues
Information for resolving errors when publishing a MATLAB interface to a C/C++ library.
- Resolve Build Error: Multiple Redefinition Linker Errors
- Resolve Build Error: Unresolved External Symbols
- Build Error Due to Compile-Time Checks
- Errors Parsing Header Files on macOS
Troubleshooting MATLAB Interface to C/C++ Library Run-Time Issues
Resolve unexpected run-time errors when calling functions in a published MATLAB interface to a C/C++ compiled library.
Troubleshooting Calls to C/C++ Library Functions
Resolve unexpected issues when calling functions in a C/C++ compiled library.
Debug C++ Library from MATLAB Interface
How to build a debug version of a MATLAB interface to a C++ library.