原因是VS2010中的yvals.h添加了char16_t的定义,而Matlab的matrix.h也包含对char16_t的定义,所以同时包含这两个头文件的话,会导致重复定义char16_t的错误。
只需在包含matrix.h之前包含yvals.h即可:
#include <yvals.h>
#if (_MSC_VER >= 1600)
#define __STDC_UTF_16__
#endif
#include "mex.h"
只需在包含matrix.h之前包含yvals.h即可:
#include <yvals.h>
#if (_MSC_VER >= 1600)
#define __STDC_UTF_16__
#endif
#include "mex.h"
本文解决了在使用VS2010与Matlab进行开发时出现的char16_t重复定义错误。通过调整头文件的包含顺序,即先包含yvals.h再包含matrix.h,可以有效避免此冲突。
81

被折叠的 条评论
为什么被折叠?



