在vs2010中调用matlab时出错:redefine
本帖最后由 ppndvc 于 2012-08-21 16:20:19 编辑 1> main.cpp
1>d:\program files\matlab\r2010a\extern\include\matrix.h(330): error C2371: 'char16_t' : redefinition; different basic types
1> d:\program files (x86)\microsoft visual studio 10.0\vc\include\yvals.h(576) : see declaration of 'char16_t'
1>c:\users\zhangyan\documents\visual studio 2010\projects\segmenttest\segmenttest\main.cpp(7): fatal error C1012: unmatched parenthesis : missing ')'
1> imageGrad.cpp
1>d:\program files (x86)\microsoft visual studio 10.0\vc\include\yvals.h(576): error C2371: 'char16_t' : redefinition; different basic types
1> d:\program files\matlab\r2010a\extern\include\matrix.h(330) : see declaration of 'char16_t'
1> Generating Code...
1>
1>Build FAILED.
如上所述:他说char16_t在yvals.h和matrix.h里都有定义,然后就出错了,我按照网上说的方法:在#include“matrix.h”前面加上#include “yvals.h”;
另外,又尝试了:
#if (MICROSOFT VERSION is less than DEV10)
typedef CHAR16_T char16_t;
# endif:
同样不起作用啊!求助啊!
[最优解释]
1.最好还是去重新定义一下,如果是库文件,可以用SourceInsight的SMART RENAME
2.选其中一个文件用#define,改成其他的名字
[其他解释]
对了,我的机器是:VS2010(X64)+ Matlab R2010a
[其他解释]
没有人知道么?
[其他解释]