error LNK2019: unresolved external symbol emlrtReturnArrays

14 次查看(过去 30 天)
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

回答(1 个)

Michelle Wu
Michelle Wu 2017-2-17
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 个评论
Ion Iturbe
Ion Iturbe 2017-2-20
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Write C Functions Callable from MATLAB (MEX Files) 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by