error LNK2019: unresolved external symbol emlrtReturnArrays

6 views (last 30 days)
Hello,
I'm generating C code from Matlab function.
I would like to test generated C code in Matlab, using a C mex function. I've seen that while generating code, an "interface" folder is also generated inside the "codegen" folder, so I tried to compile the mex function inside "codegen/interface/_coder_MyFunctionName_mex.c" file.
But I'm getting the "unresolved external symbol" error for allmost all the "emlrtXXX" functions.
Am I doing something wrong?
Regards,
Ion

Answers (1)

Michelle Wu
Michelle Wu on 17 Feb 2017
The MATLAB Answers post attached below looks relevant to the error you saw:
The error looks like a linker related issue. You probably need to include all the necessary source files to the MEX command and compile them together.
  2 Comments
Ion Iturbe
Ion Iturbe on 20 Feb 2017
Hi,
Thank you for your answer but it doesn’t solve my problem.
I’m trying including different c files in mex command and so on, but I'm getting to some limits. I think we should look at this issue in two differents part:
1- Which is the exact mex command to use to generate mex function from a code generated by ecoder? It should be nice for everybody to have this command, I think.
2- I get to "unresolved external symbol" for "emlrtReturnArrays", "emlrtErrMsgIdAndTxt", and more "emlrt*" functions. This functions are declared in "emlrt.h" that I found in "C:\Program Files\MATLAB\R2016b\extern\include" but it looks like while linking they are not found. How can this problem be solved?
Regards,
Ion

Sign in to comment.

Categories

Find more on MATLAB Code Analysis in Help Center and File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!