一、安装补丁VS2010MEXSupport.zip
由于MATLAB R2010a 发布的时间要比 VS2010早,所以在该版本识别不了VC++2010编译器。不过R2010a之后的版本应该不会有这种问题了。
unzip( path_to_zip_file, matlabroot);
http://www.mathworks.cn/support/solutions/en/data/1-D5W493/index.html?solution=1-D5W493
解压补丁包,将其中的文件放到 D:\Program Files\MATLAB\R2010a\bin\win32\mexopts 文件夹下
二、Piotr's Image & Video Matlab Toolbox 安装使用
Piotr's Image & Video Matlab Toolbox是加州大学圣迭戈分校视觉实验室提供的matlab工具箱,提供了非常好的代码,在工程试验中很实用。具体情况,参见主页:http://vision.ucsd.edu/~pdollar/toolbox/doc/
在主页中提供了安装方式。但是在实际的安装过程中,出现了很多情况。
a. 每次使用时必须重新添加工具箱。
b. error C2371: 'char16_t' : redefinition; different basic types
—————————————————————————————————————————————————
C:\Microsoft Visual Studio 10.0\VC\INCLUDE\yvals.h(576) : error C2371: 'char16_t' : redefinition; different basic types
C:\Matlab\r2010a\extern\include\matrix.h(330) : see declaration of 'char16_t'
—————————————————————————————————————————————————
原因是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