Function 'version' not supported for code generation (R2021a)
Mostrar comentarios más antiguos
For various reasons, I want my generated code to know which version of MATLAB codegen generated the code, because coder prior to R2023a would take a matlab function:
function [ a, b ] = foo ( c, d ) …
and generate it to
void foo( TypeC c, TypeDd, TypeA* a, TypeB* b);
but after R2023a, it would generate the function as:
TypeA foo( TypeC c, TypeD d, TypeB& b);
So it became necessary, in order to call functions generated a particular version of Matlab, I needed to know which version of coder generated the library, so I wrote a simple function that I asked coder to generate for me:
function [ n ] = mversion()
v = extractBefore( version, ' ' );
a = str2double(extractBefore( v, '.' )) * 1e9; vb = extractAfter( v, '.');
b = str2double(extractBefore( vb, '.' )) * 1e6;
n = (a + b)/1e9;
end
This code generates into a C++ function perfectly fine in many versions of Matlab coder from R2021a through R2023a, except in a recent installation of Matlab R2021a (older version of Matlab necessary to match a customer's environment), I get the error
??? Function 'version' not supported for code generation
What would cause this to successfully generate in one installation of Matlab 2021a and not another?
4 comentarios
Walter Roberson
el 23 de Ag. de 2023
Ivans Chou
el 23 de Ag. de 2023
Editada: Ivans Chou
el 23 de Ag. de 2023
Ivans Chou
el 23 de Ag. de 2023
Walter Roberson
el 23 de Ag. de 2023
By the way: R2020b introduced isMATLABReleaseOlderThan and matlabRelease . But it looks like code generation is not available for those either.
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre MATLAB Coder en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!