Prev: meditor.exe
Next: What does this mean???
From: Venn Ravichandran on 27 Jul 2010 13:56 The reason you are getting a conflict is because, as Fifo found out, the matrix.h redefines the function that is in yvals.h. What Fifo suggests is one way to do it. However, I always hesitate to edit the .h files provide by someone else. Simply put, you could end up destroying the interface functionality they are providing you and therefore not a good programming practice. Instead, my encapsulating the matrix.h into its own namespace you avoid conflict: namespace mat { #include <matrix.h> } What this means is that you will have to address the variables/functions within matrix.h by adding the "mat::" prefix to them. For instance, instead of being able to call mxArray x; you will have to use mat::mxArray x; where "mat" is the namespace within which you included "matrix.h" Cheers, -Venn
From: Alex Höck on 30 Jul 2010 05:32
Since I didn't find a usable answer here is my solution which works with the Visual Studio 10 C compiler: #include <yvals.h> #if (_MSC_VER >= 1600) #define __STDC_UTF_16__ #endif #include "mex.h" It is necessary to include the yvals.h before mex.h (guess matrix.h is the same, because the redefinition code is in matrix.h). |