mex: Link Failed when compile C file
Afficher commentaires plus anciens
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??
Réponses (1)
James Tursa
le 21 Juil 2016
Modifié(e) : James Tursa
le 21 Juil 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.
Catégories
En savoir plus sur Write C Functions Callable from MATLAB (MEX Files) dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!