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!
