Standalone Compiler Load ImageDataStore
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Steven Lord
2022-11-7
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 C Shared Library Integration 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!