Import Function is not supported
古いコメントを表示
Hi,
I am converting my MATLAB code into C code using MATLAB Coder. However, this error popped out while I'm trying to convert it.

It said that the import statements below are not supported.

How am I supposed to modify the code? I need it for my project to run smoothly.
Thank you.
回答 (1 件)
David Fink
2020 年 5 月 11 日
import is used to bring names into scope.
Instead of:
import x.y.*
functionInXY();
use
x.y.functionInXY();
Please contact MathWorks Technical Support to formally express your interest in supporting import in a future release.
6 件のコメント
David Fink
2020 年 5 月 11 日
Based on the import statements in the question, those appear to be packages, so calling them as functions will not work.
In fact, the .* syntax is not recommended in MATLAB. See the import page for details:
To remove the import-s, you will need to identify the functions and classes used in the body of decode that exist in those packages, and prepend the appropriate package name to each.
To draw a parallel to my example above, com.google.zxing.qrcode = x.y, but there may be various calls corresponding to functionInXY.
For example,
import com.google.zxing.qrcode
reader = QRCodeReader;
becomes
reader = com.google.zxing.qrcode.QRCodeReader;
WanYu
2020 年 5 月 11 日
David Fink
2020 年 5 月 11 日
Doing some searching, those packages look like Java.
MATLAB Coder does not support calling Java.
MATLAB Compiler (not my area of expertise) might support calling Java from a MATLAB Compiler executable:
WanYu
2020 年 5 月 12 日
David Fink
2020 年 5 月 12 日
If generating a MEX file, MATLAB Coder can call into MATLAB (which can call Java) via coder.extrinsic.
If generating standalone C code, MATLAB Coder cannot call into MATLAB or Java.
カテゴリ
ヘルプ センター および File Exchange で Introduction to Installation and Licensing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
