Standalone Compiler Load ImageDataStore
1 view (last 30 days)
Show older comments
Hi everyone I am struggeling with the Compiler Toolbox. I want to run a function in a standalone app, which simply loads a available IMDS mat-file and train a network for this. Unfortunately, it crashs in the compiled version with the following error message:
Warning: While loading an object of class 'matlab.io.datastore.ImageDatastore':
Cannot access 'getFiles' in class 'matlab.io.datastore.FileSet'.
Message: Cannot access 'getFileSizes' in class 'matlab.io.datastore.FileSet'.
Identifier: MATLAB:datastoreio:dsfileset:parensNotAllowed
In file: C:\Program Files\FraunhoferIFF\MATLAB Runtime\v99\mcr\toolbox\matlab\datastoreio\+matlab\+io\+datastore\@ImageDatastore\ImageDatastore.m
line: 442
It works in Matlab itself, but not with the compiled standalone application.
0 Comments
Answers (1)
Steven Lord
on 7 Nov 2022
See the first Tip on this documentation page. If there's no reference in the code itself that tells MATLAB Compiler it needs to include the imageDatastore class in your application when it analyzes your code you will need to explicitly state that MATLAB Compiler needs to include it. Use the -a argument when you call mcc or the %#function pragma (which I would put on the line before or the line after the load call in your code) to explicitly inform MATLAB Compiler that it needs to include the class.
See Also
Categories
Find more on C Shared Library Integration in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!