Undefined function or variable 'matscale'.

조회 수: 2 (최근 30일)
xiyu quan
xiyu quan 2023년 3월 30일
댓글: Walter Roberson 2023년 4월 3일
hello everyone, I have a question that my matlab code is packaged into Java code, when I try to test the packaging code(.jar)
error as: Undefined function or variable XXX(.mexw32 file ).
thank you very much

답변 (1개)

Jack
Jack 2023년 3월 30일
The error message you are seeing suggests that the MEX file for the MATLAB function XXX is not included in the JAR file.
When packaging MATLAB code into a JAR file using the MATLAB Compiler, you need to ensure that all the required files, including MEX files, are included in the JAR file. This can be done using the mcc command line option -a to specify additional files that need to be included in the JAR file.
To include the MEX file for the XXX function in the JAR file, you can use the following command in MATLAB:
mcc -m yourMainFunction -a XXX.mexw32
Replace yourMainFunction with the name of your main MATLAB function that you want to package, and replace XXX.mexw32 with the name of the MEX file for the XXX function.
After running this command, you should see the MEX file included in the JAR file generated by the MATLAB Compiler. Make sure to use the updated JAR file in your Java application and try running it again.
If the issue persists, you can try adding any other required files or directories to the JAR file using the -a option as needed.
  댓글 수: 4
xiyu quan
xiyu quan 2023년 4월 3일
>>
there are some errors ,can you give me more advices
which mupadmex
D:\Program Files\MATLAB\R2015b\toolbox\symbolic\symbolic\mupadmex.mexw64
>> mcc -m pidtunner_main -a mupadmex.mexw64
Error using matlab.depfun.internal.MatlabInspector>resolveSymbolName (line 677)
File, function or class "mupadmex.mexw64" may not exist. Neither WHICH nor EXIST could find an exact, case-sensitive match. Please check the spelling of the name, and that any required directories are on the
MATLAB path.
Error in matlab.depfun.internal.MatlabInspector.resolveType (line 82)
[fullpath, symName] = resolveSymbolName(name);
Error in matlab.depfun.internal.MatlabInspector/determineType (line 155)
matlab.depfun.internal.MatlabInspector.resolveType( ...
Error in matlab.depfun.internal.Completion/resolveRootSet (line 1095)
determineType(inspector, name);
Error in matlab.depfun.internal.Completion/initializeRootSet (line 1347)
[rootSymbols, unknownType] = resolveRootSet(obj, files);
Error in matlab.depfun.internal.Completion (line 2171)
obj.RootSet = initializeRootSet(obj, files);
Error in matlab.depfun.internal.requirements (line 196)
c = matlab.depfun.internal.Completion(items, tgt, 'useDatabase');
Error using mcc
Unexpected error while determining required deployable files. Compilation terminated.
>> mex_file = mupadmex.mexw64 + mexext; % replace 'matscale' with the name of your MEX file
Undefined variable "mupadmex" or class "mupadmex.mexw64".
Walter Roberson
Walter Roberson 2023년 4월 3일
Nothing in the Symbolic Toolbox can be compiled.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 MATLAB Compiler에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by