How to fix Undefined symbols for architecture x86_64

20 views (last 30 days)
Im trying to connect a C program to Matlab, im launching the C program from terminal but i keep getting this error:
Undefined symbols for architecture x86_64:
"_engClose", referenced from:
_main in first-e0c476.o
"_engEvalString", referenced from:
_main in first-e0c476.o
"_engGetVariable", referenced from:
_main in first-e0c476.o
"_engOpen", referenced from:
_main in first-e0c476.o
"_engOutputBuffer", referenced from:
_main in first-e0c476.o
"_engPutVariable", referenced from:
_main in first-e0c476.o
"_mexPrintf_800", referenced from:
_main in first-e0c476.o
"_mxCreateDoubleMatrix_800", referenced from:
_main in first-e0c476.o
"_mxDestroyArray_800", referenced from:
_main in first-e0c476.o
"_mxGetNumberOfElements_800", referenced from:
_main in first-e0c476.o
"_mxGetPr_800", referenced from:
_main in first-e0c476.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
any help is greatly appreciated.

Answers (1)

Abhishek gangwar
Abhishek gangwar on 24 Jul 2020
May be this issue is because of you do not a function named mexFunction in your MEX-file and that function needs to have a specific signature, if it is the senario, define that function in your MEX-file. Let me know if you are still having this issue after doing as I suggested.
  4 Comments
Alex Manak
Alex Manak on 24 Jul 2020
This is at the bottom of my mex.h file:
MEXFUNCTION_LINKAGE
/*
* mexFunction is the user-defined C routine that is called upon invocation
* of a MEX-function.
*/
void mexFunction(
int nlhs, /* number of expected outputs */
mxArray *plhs[], /* array of pointers to output arguments */
int nrhs, /* number of inputs */
const mxArray *prhs[] /* array of pointers to input arguments */
);
#endif /* mex_h */

Sign in to comment.

Categories

Find more on Write C Functions Callable from MATLAB (MEX Files) in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!