Redifinition of mxArray: error C2371

3 vues (au cours des 30 derniers jours)
AlligatorAl
AlligatorAl le 27 Août 2013
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
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
Anthony Poulin le 7 Juil 2014
Modifié(e) : Anthony Poulin le 7 Juil 2014
Anyone has solution? I am blocked...

Connectez-vous pour commenter.

Réponses (1)

Anthony Poulin
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

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!

Translated by