Redifinition of mxArray: error C2371
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
In the linking step I am getting this error:
c:\program files (x86)\matlab\r2012b\extern\include\matrix.h(301) : error C2371: 'mxArray' : redefinition; different basic types c:\program files (x86)\matlab\r2012b\simulink\include\simstruc.h(474) : see declaration of 'mxArray'
I am using VS2010 C++ compiler. The two header files seem are matlab and simulink includes, so I'm not sure why they don't play nice together.
4 commentaires
Anthony Poulin
le 3 Juil 2014
I have also the same problem. I have no problem when I compile my sfunction with visual studio 2010 C++ compiler. But I have the error when I try to generate code from my model whichn includes this S-function. Any idea?
Anthony Poulin
le 7 Juil 2014
Modifié(e) : Anthony Poulin
le 7 Juil 2014
Anyone has solution? I am blocked...
Réponses (1)
Anthony Poulin
le 18 Juil 2014
I find solution, it happens because "simstruct.h" (the C s-function hearder) does not include the same headers when compiling in mexw32 (for simulation) or when compiling a model with simulink coder. It was explained in the link bellow:
My problem comes from functions include in "matrix.h", (which is not include when compiling with simulink coder), so the solution was to use only functions include both in matrix.h and rt_matrx.h
0 commentaires
Voir également
Catégories
En savoir plus sur Simulink Coder dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!