Redifinition of mxArray: error C2371

3 Ansichten (letzte 30 Tage)
AlligatorAl
AlligatorAl am 27 Aug. 2013
Beantwortet: Anthony Poulin am 18 Jul. 2014
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 Kommentare
Anthony Poulin
Anthony Poulin am 3 Jul. 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 am 7 Jul. 2014
Bearbeitet: Anthony Poulin am 7 Jul. 2014
Anyone has solution? I am blocked...

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Anthony Poulin
Anthony Poulin am 18 Jul. 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

Kategorien

Mehr zu Simulink Coder finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by