How to debug the" illegal statement termination" ?

4 views (last 30 days)
I install the c++ compiler successfully.
But the program appear a error.
Could you tell me how to debug the program?
>> make Error atoi.cpp: 20 illegal statement termination Error atoi.cpp: 20 skipping `int' Error atoi.cpp: 20 undeclared identifier `i' 3 errors, 0 warnings
D:\PROGRA~1\MATLAB\R2012A\BIN\MEX.PL: Error: Compile of 'atoi.cpp' failed.
Error using mex (line 206) Unable to complete successfully.
Error in make (line 5)
mex atoi.cpp;
  2 Comments
wenjie
wenjie on 24 Jun 2014
Edited: wenjie on 24 Jun 2014
void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
// a
char a[MAX_LEN];
mxGetString(prhs[0], a, MAX_LEN);
// main parts
int i = atoi(a);
// i
plhs[0] = mxCreateDoubleMatrix(1, 1, mxREAL);
*mxGetPr(plhs[0]) = i;
}
José-Luis
José-Luis on 24 Jun 2014
Could you show the offending line? Also, if you are trying the mex the standard atoi function, you would normally not compile the .cpp file, only the c header "stdlib.h".

Sign in to comment.

Answers (1)

dpb
dpb on 24 Jun 2014
>> make Error atoi.cpp: 20 illegal statement termination
Error atoi.cpp: 20 skipping `int'
Error atoi.cpp: 20 undeclared identifier `i'
3 errors, 0 warnings
There's a problem in the .cpp file that the line 20 is malformed--perhaps there's some embedded nonprinting characters or somesuch.
Are you certain you're looking at the copy of the file actually submitted to the compiler?

Categories

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

Products

Community Treasure Hunt

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

Start Hunting!