Import Function is not supported
Show older comments
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.
Answers (1)
David Fink
on 11 May 2020
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 Comments
David Fink
on 11 May 2020
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
on 11 May 2020
David Fink
on 11 May 2020
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
on 12 May 2020
David Fink
on 12 May 2020
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.
Categories
Find more on Introduction to Installation and Licensing 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!