VS2010和matlab2010混合编程中char16_t重定义的问题时间:2023-03-10 01:50:53 原因是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" 来源:preston2006的博文。