读书人

在vs2010中调用matlab时疏失:redefine

发布时间: 2012-12-20 09:53:21 作者: rapoo

在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
[其他解释]
没有人知道么?
[其他解释]

引用:
1.最好还是去重新定义一下,如果是库文件,可以用SourceInsight的SMART RENAME

2.选其中一个文件用#define,改成其他的名字

vs2010自带的yvals.h带锁的,不能改;而matlab里面的matrix.h里面的定义和引用太多了,改不了啊,一改,错误一大片。。。。。
[其他解释]
还有人知道么?
[其他解释]
还有人知道么?

读书人网 >VC/MFC

热点推荐