Question
Why do I get "cannot load an object of class 'compactcl?assificati?onECOC'" after compiling a standalone application of a machine learning model? I have a trained machine learning model saved as a MAT file that is loaded in my App Designer application. When I compile the app into a standalone application with MATLAB Compiler, I get the following error when running it: cannot load an object of class 'compactclassificationECOC'
Related Questions
Expert Answer
Prashant Kumar
PhD Expert
Answered Nov 20, 2025
During the compilation process, a dependency analysis is run to pick up files that the code relies on. In this case, the dependent functions are specified as a value in the trained model struct loaded through a MAT file. This causes the analysis to miss the necessary files.
To work around this, we can add a "function pragma" to the function to make the dependency explicit:
% App designer method
function myAppCallback(app, event)
%#function classreg.learning.classif.CompactClassificationECOC
[ additional code ]
The "function pragma" was added based on the "ClassificationSVM" values in the trained model struct:
trainedModel = struct with fields: predictFcn: @(x)exportableModel.predictFcn(predictorExtractionFcn(x)) ClassificationSVM: [1×1 classreg.learning.classif.CompactClassificationECOC] About: 'This struct is a trained model exported from Classification Learner R2017b.' HowToPredict: 'To make predictions on a new predictor column matrix, X, use: ...
Multiple functions can be added to the pragma with spaces:
%#function classreg.learning.classif.CompactClassificationECOC classreg.learning.regr.RegressionModel
Have a different question? Ask here