Main Content

Resolve Error: Function Is Not Supported for Code Generation

Issue

Certain MATLAB® functions are not supported for code generation. If you try to generate code for these unsupported functions, you see this error message:

The function <function_name> is not supported for code generation.

Possible Solutions

This error message occurs when the code generator cannot generate code for the specified function. If you want to generate code for your project, use the following workarounds depending on your deployment platform.

MEX Target: Declare the Function as Extrinsic

To call the unsupported function in a MEX, declare the function as an extrinsic in your MATLAB code. The function bypasses code generation and instead uses the MATLAB engine to execute the call. This functionality is available only when the MATLAB engine is available in MEX functions. Certain functions are automatically marked as extrinsic while other functions require you to explicitly call them as an extrinsic function. To declare a function as an extrinsic function, use coder.extrinsic. For more information, see Use MATLAB Engine to Execute a Function Call in Generated Code.

Standalone Target: Manually Implement the Function in MATLAB Code or C/C++ Code

To generate standalone code for a project that uses unsupported functions, manually implement the unsupported function as custom MATLAB code that is supported for code generation or C/C++ code.

To use handwritten C/C++ code to implement the unsupported functionality, call this code from inside your MATLAB code by using coder.ceval. Then generate code for the entry-point MATLAB functions as usual.

You can find third-party custom MATLAB code or C/C++ code for the function that you require.

Before using third-party custom MATLAB code, generate a MEX function for the code to verify that it performs as expected. Similarly with third-party C/C++ code, verify that the code or library performs as expected.

You can also deploy your MATLAB code to a platform that supports MATLAB Compiler™. The code generated by the compiler is not completely standalone as it requires access to MATLAB run-time libraries. See Write Deployable MATLAB Code (MATLAB Compiler).

See Also

|

Related Topics