Contenido principal

Resolución del error: La función no es admitida para la generación de código

Problema

Algunas funciones de MATLAB® no son admitidas para la generación de código. Si intenta generar código para estas funciones no admitidas, aparecerá este mensaje de error:

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

Posibles soluciones

Este mensaje de error se produce cuando el generador de código no puede generar código para la función especificada. Si desea generar código para su proyecto, use las siguientes soluciones temporales dependiendo de su plataforma de despliegue.

Objetivo MEX: declara la función como extrínseca

Para llamar a la función no admitida en MEX, declare la función como extrínseca en el código de MATLAB. La función omite la generación de código y, en su lugar, usa el motor de MATLAB para ejecutar la llamada. Esta funcionalidad solo está disponible cuando el motor de MATLAB está disponible en las funciones MEX. Algunas funciones se marcan automáticamente como extrínsecas, mientras que otras requieren que se llamen explícitamente como funciones extrínsecas. Para declarar una función como función extrínseca, use coder.extrinsic. Para obtener más información, consulte Use MATLAB Engine to Execute a Function Call in Generated Code.

Objetivo independiente: implementar manualmente la función en código de MATLAB o en código C/C++

Para generar código independiente para un proyecto que usa funciones no admitidas, implemente manualmente la función no admitida como código de MATLAB personalizado admitido para la generación de código C/C++.

Para usar código C/C++ desarrollado manualmente para implementar la funcionalidad no admitida, llame a este código desde dentro de su código de MATLAB mediante coder.ceval. Luego, genere código para las funciones de MATLAB de punto de entrada como de costumbre.

Puede encontrar código de MATLAB personalizado de terceros o código C/C++ para la función que necesite.

Antes de usar código de MATLAB personalizado de terceros, genere una función MEX para el código a fin de verificar que funciona según lo esperado. Del mismo modo, con el código C/C++ de terceros, compruebe que el código o la biblioteca funcionan según lo esperado.

También puede desplegar su código de MATLAB en una plataforma que admita MATLAB Compiler™. El código generado por el compilador no es completamente autónomo, ya que requiere acceso a las bibliotecas de tiempo de ejecución de MATLAB. Consulte Write Deployable MATLAB Code (MATLAB Compiler).

Solicitar soporte para la generación de código

MathWorks® añade continuamente soporte para la generación de código C/C++ para funciones de MATLAB integradas y funciones de toolbox. Envíe una solicitud para añadir soporte de generación de código para esta función a través de este formulario: Solicitar soporte de generación de código para funciones de MATLAB.

Consulte también

|

Temas