mex: Link Failed when compile C file
Mostrar comentarios más antiguos
I have my C file and h file in one directory. but when I use mex command like
>>mex checkPeriod.c checkPeriod.h
I got some error:
checkPeriod.h:16:24: error: mwmathutil.h: No such file or directory
checkPeriod.h:18:22: error: tmwtypes.h: No such file or directory
checkPeriod.h:19:17: error: mex.h: No such file or directory
checkPeriod.h:20:19: error: emlrt.h: No such file or directory
checkPeriod.h:21:18: error: blas.h: No such file or directory
In file included from checkPeriod.h:23:
checkPeriod_types.h:25: error: expected specifier-qualifier-list before ‘uint32_T’
checkPeriod_types.h:35: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:50: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:67: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:83: error: expected specifier-qualifier-list before ‘int32_T’
checkPeriod_types.h:97: error: expected specifier-qualifier-list before ‘boolean_T’
checkPeriod_types.h:130: error: expected specifier-qualifier-list before ‘int32_T’
checkPeriod_types.h:144: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:160: error: expected specifier-qualifier-list before ‘int32_T’
checkPeriod_types.h:174: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:192: error: expected specifier-qualifier-list before ‘int32_T’
checkPeriod_types.h:206: error: expected specifier-qualifier-list before ‘int32_T’
checkPeriod_types.h:221: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:233: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod_types.h:245: error: expected specifier-qualifier-list before ‘real_T’
checkPeriod.h:26: error: expected ‘)’ before ‘boundary’
mex: link of ' "checkPeriod.mexa64"' failed.
At beginning, I thought this is because a lot of other function used in this function. But when I try to compile all the files, these errors still came out. Any help??
Respuestas (1)
James Tursa
el 21 de Jul. de 2016
Editada: James Tursa
el 21 de Jul. de 2016
You typically do not include header .h files in a mex command. They are generally intended to be included in the source file via a #include statement. Do you have this line in checkPeriod.c:
#include "checkPeriod.h"
If so, things are set up as I would expect, and you can try this:
mex checkPeriod.c
This is all somewhat guesswork on my part because I can't see your source files.
1 comentario
Sizhe Liu
el 21 de Jul. de 2016
Categorías
Más información sobre Write C Functions Callable from MATLAB (MEX Files) en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!